该怎么改qaq
#include<bits/stdc++.h>
using namespace std;
const int N=50100;
int len,n,m,l=0,r=1e9+1,mid,a[N],b[N];
bool check(int x) {
int m1=m;
for(int i=1; i<=n; i++) b[i]=a[i];
for(int i=1; i<=n-2; i++) {
if(b[i+1]-b[i]<x) b[i+1]=b[i],m1--;
}
return m1>=0&&b[n]-b[n-1]>=x;
}
int main() {
scanf("%d%d%d",&len,&n,&m);
a[n+2]=len,n+=2;
for(int i=2; i<n; i++) scanf("%d",&a[i]);
while(l+1<r) {
mid=(l+r)/2;
if(check(mid)) l=mid;
else r=mid;
}
printf("%d",l);
return 0;
}