二分再来一发
#include<iostream>
#include<algorithm>
using namespace std;
int n,m;
int a[100005];
int solve(int x)
{
int cot=0;
int i;
int pos=a[0];
for(i=0;i<n;i++)
{
if(a[i]-pos>=x)
{
cot++;
pos=a[i];
}
if(cot==m-1)
return 1;
}
return 0;
}
int main()
{
std::ios::sync_with_stdio(false);
cin>>n>>m;
int i,j;
for(i=0;i<n;i++)
{
cin>>a[i];
}
sort(a,a+n);
int l=0;
int r=100000000;
int mid;
int flag=0;
while(r-l>1)
{
mid=(r+l)/2;
if(solve(mid))
{
l=mid;
flag=1;
}
else
r=mid;
}
cout<<l<<endl;
}