代码如下:
#include<bits/stdc++.h>
using namespace std;
inline long long erfind(long long lis[],long long len,long long f){
long long l=1,r=1000000005;
long long m,Dev_C=0,last;
while(l<r){
m=(l+r)>>1;
last=lis[0];
Dev_C++;
for(long long i=1;i<len;i++){
if(lis[i]-last>=m+1){
Dev_C++;
last=lis[i];
}
}
if(Dev_C<f)r=m;
else l=m+1;
Dev_C=0;
}
return l;
}
void popsort0_erf(long long lis[],long long len,long long f){
long long c=len-1;
for(long long i=0;i<len;i++){
for(long long ii=0;ii<c;ii++){
if(lis[ii]>lis[ii+1]){
swap(lis[ii],lis[ii+1]);
}
}
c--;
}
cout<<erfind(lis,len,f);
}
int main(){
long long n,c;
cin>>n>>c;
long long nlis[n];
for(long long i=0;i<n;i++){
cin>>nlis[i];
}
popsort0_erf(nlis,n,c);
return0;
}