#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int N, C;
cin >> N >> C;
int* house = new int[N];
for (int i = 0; i < N; i++) {
cin >> house[i];
}
sort(house, house + N);
int ans = 0;
int low = 1, high = house[N-1] - house[0];
while (low <= high) {
int mid = (low + high) / 2;
int prev = house[0], cnt = 1;
for (int i = 1; i < N; i++) {
if (house[i] - prev >= mid) {
cnt++;
prev = house[i];
}
}
if (cnt >= C) {
ans = max(ans, mid);
low = mid + 1;
}
else high = mid - 1;
}
cout << ans << endl;
return 0;
}