#include <bits/stdc++.h>
using namespace std;
#define int long long
#define N 200005
const int inf = 1e18;
int tc = 1, n, a[N], x, y, dp[2001][2001];
bool solve(int w) {
for(int i = 1; i <= n; i++) {
for(int j = 0; j <= n; j++) {
dp[i][j] = inf;
}
}
int l = a[1];
dp[1][0] = 1;
for(int i = 2; i <= n; i++) {
dp[i][0] = dp[i-1][0];
dp[i][0] += (a[i] - l + 1 > w);
if(a[i] - l + 1 > w) l = a[i];
}
for(int i = 1; i <= n; i++) {
int l1 = 1, l2 = 1;
for(int j = 1; j <= x; j++) {
while(l1 <= n && a[l1] < a[i] - w + 1) l1++;
while(l2 <= n && a[l2] < a[i] - (2 * w) + 1) l2++;
dp[i][j] = dp[l1 - 1][j] + 1;
dp[i][j] = min(dp[i][j], dp[l2 - 1][j - 1]);
}
}
return (dp[n][x] <= y);
}
int32_t main() {
ios::sync_with_stdio(0);cin.tie(0);
cin >> n >> y >> x;
x = min(x, n);
for(int i = 1; i <= n; i++) {
cin >> a[i];
}
sort(a+1,a+n+1);
int l = 1, r = 1e9;
while(l <= r) {
int mid = (l + r) / 2;
if(solve(mid)) {
r = mid - 1;
}
else {
l = mid + 1;
}
}
cout << r + 1 << '\n';
return 0;
}