最后一点错了,玄关
#include<bits/stdc++.h>
using namespace std;
int n,c;
int a[100005];
int b;
bool check(int x){
int a1=a[1],sum=1;
for (int i=2;i<=n;i++){
if(a[i]-a1>=x)
{
sum++;
a1=a[i];
if(sum==c) return 1;
}
}
return 0;
}
int main()
{
cin>>n>>c;
for(int i=1;i<=n;i++) cin>>a[i];
sort(a+1,a+1+n);
b=n-c;
int l=1,r=n,mid;
int ans;
while(l<=r){
mid=(l+r)/2;
if(check(mid)==1){
ans=max(ans,mid);
l=mid+1;
}
else r=mid-1;
}
cout<<ans;
return 0;
}