![](https://img-blog.csdnimg.cn/img_convert/0ac882bafb147327d88532ced27d859a.png)
![](https://img-blog.csdnimg.cn/img_convert/d4da5691d5d211fa2ee1a96fdedc0063.png)
#include <iostream>
#include <algorithm>
using namespace std;
typedef long long LL;
const int N = 100010;
int n, c;
int a[N];
bool check(int mid)
{
LL sum = 1, k = 0;
for (int i = 1; i <= n; i ++ )
if (a[i] - a[k] >= mid)
{
k = i;
sum ++ ;
}
return sum >= c;
}
int main()
{
cin >> n >> c;
for (int i = 0; i < n; i ++ ) cin >> a[i];
sort(a, a + n);
int l = 0, r = 1000000000;
while (l < r)
{
int mid = l + r + 1 >> 1;
if (check(mid)) l = mid;
else r = mid - 1;
}
cout << r << endl;
return 0;
}