#include <bits/stdc++.h>
#define int long long
using namespace std;
int n, c, a[200000005], Max;
bool check(int mid)
{
int tmp = 1, lst = 1;
for (int i = 2; i <= n; ++i)
if (a[i] - a[lst] >= mid)
++tmp, lst = i;
return tmp >= c;
}
signed main()
{
ios::sync_with_stdio(0);
cin.tie(0), cout.tie(0);
cin >> n >> c;
for (int i = 1; i <= n; ++i)
cin >> a[i];
sort(a + 1, a + n + 1);
for (int i = 1; i <= n; ++i)
Max = max(Max, a[i] - a[i - 1]);
int lft = 0, rgh = Max + 1, mid;
while (lft + 1 < rgh)
{
mid = lft + rgh >> 1;
if (check(mid))
lft = mid;
else
rgh = mid;
}
cout << lft << '\n';
return 0;
}