代码如下
# include <iostream>
# include <algorithm>
using namespace std;
int a[100010],n,c;
bool check_ans(int d){
int k=0,last=a[1];
for(int i=1; i <= n; i++){
if(a[i] - last >= d){
last=a[i]; k++;
}
}
if(k >= c)return true;
else return false;
}
int main(){
int left,right;
cin>>n>>c;
for(int i=1;i<=n;i++)cin>>a[i];
sort(a+1,a+n+1);
left=1; right=a[n]-a[1];
while(left < right){
int mid=(left+right)/2;
if(check_ans(mid))left=mid;
else right=mid;
}
if(check_ans(right))cout<<right<<endl;
else cout<<left<<endl;
return 0;
}