全RE求条
#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10;
int n, c;
int a[N];
bool check(int d)
{
int reg = a[1] + d;
int nc = 1;
for(int i = 2; i <= n; i++)
{
if(a[i] < reg) continue;
nc++;
reg = a[i] + d;
}
return nc >= c;
}
int main()
{
cin >> n >> c;
for(int i = 1; i <= n; i++)
{
scanf("%d", a[i]);
}
sort(a + 1, a + n + 1);
int left = 0, right = 1e9;
while(left <= right)
{
int mid = (left + right) >> 1;
if(check(mid) == 0) right = mid - 1;
else left = mid + 1;
}
cout << right;
return 0;
}