#include<iostream>
#include<algorithm>
using namespace std;
int ans=-1,a[100000+10],n,c;
int mid;
void in(){
cin>>n>>c;
for(int i=1;i<=n;i++){
cin>>a[i];
}
}
bool check(int x){
int now = 1, num = 1;
for (int i = 2; i <= n; i++){
if (a[i]-a[now]>=x){
now=i;
num++;
}
}
return num>=c;
}
int ef(int l,int r){
while(l<=r){
mid=(l+r)/2;
if(check(mid)){
ans=max(mid,ans);
l=mid+1;
}
else
r=mid-1;
}
return ans;
}
int main(){
in();
sort(a+1,a+1+n);
cout<<ef(1,(2<<30));
}
改了很多遍了,还是wr,求助大佬