田钰皓 • 16天前
using namespace std; int len,n,k,l,r,mid; int a[100010]; bool check(int mid){
int c=0;
for(int i=2;i<=n;i++){
if(a[i]-a[i-1]>=mid){
c+=(a[i]-a[i-1])/mid;
if((a[i]-a[i-1])%mid==0){
c--;
}
}
}
if(c>k) return 0;
return 1;
} int main(){
cin>>l>>n>>k;
for(int i=1;i<=n;i++){
cin>>a[i];
}
sort(a+1,a+n+1);
l=0,r=l;
while(l<=r){
mid=l+r>>1;
if(check(mid))
r=mid-1;
else
l=mid+1;
}
cout<<l;
return 0;
}
评论: