为啥有错?
#include<iostream>
using namespace std;
const int N=5e4+5;
int length,number,move,rocks[N];
bool check(int x){
int cnt=0;
for(int i=1;i<=number;i++){
if(rocks[i]-rocks[i-1]<x){
cnt++;
}
}
if(cnt<=move){
return true;
}else{
return false;
}
}
int Binary_Search(){
int l=1,r=N,mid;
while(l<=r){
mid=l+(r-l)/2;
if(check(mid)){
l=mid+1;
}else{
r=mid-1;
}
}
return r;
}
int main(){
cin>>length>>number>>move;
for(int i=1;i<=number;i++){
cin>>rocks[i];
}
int ans=Binary_Search();
cout<<ans;
return 0;
}