#include <bits/stdc++.h>
using namespace std;
const int N = 1000000 + 5;
long long n, m, c, a[N], L, R;
bool check(int x) {
int t = a[1], cnt = 0, sum = 1;
for(int i = 2; i <= n; ++ i) {
if(a[i] - t > x || ++ cnt > c) {
++ sum;
cnt = 1;
t = a[i];
}
}
return sum <= m;
}
int main() {
scanf("%d%d%d", &n, &m, &c);
for(int i = 1; i <= n; ++ i)
scanf("%d", &a[i]);
sort(a + 1, a + n + 1);
L = 0, R = a[n] - a[1];
while(L < R) {
int Mid = (L + R) >> 1;
if(check(Mid)) R = Mid;
else L = Mid + 1;
}
printf("%d", L);
return 0;
}
卡 点3