#include <bits/stdc++.h>
using namespace std;
const int nx = 2005;
int n, p, q;
int a[nx], dp[nx][nx];
int main() {
ios_base::sync_with_stdio(0), cin.tie(0);
cin >> n >> p >> q;
for (int i = 1; i <= n; i++) {
cin >> a[i];
}
p = min(p, n);
q = min(q, n);
sort(a + 1, a + n + 1);
int l = 1, r = (1000000000 >> 1);
while (l < r) {
for (int i = 0; i <= n; i++) for (int j = 0; j <= n; j++) dp[i][j] = 1e9;
int mid = (l + r) / 2;
dp[0][0] = 0;
int k = 1, h = 1;
for (int i = 1; i <= n; i++) {
while (a[i]-a[k]+1 > mid) k++;
while (a[i]-a[h]+1 > (mid << 1)) h++;
for (int j = p; j >= 0; j--) {
if (j >= 1) dp[i][j] = min(dp[i][j], dp[k - 1][j - 1]);
dp[i][j] = min(dp[i][j], dp[h-1][j] + 1);
}
}
int ans = 1e9;
for (int j = 0; j <= p; j++) ans = min(ans, dp[n][j]);
//cout << l << " " << r << " " << ans << endl;
if (ans <= q) r = mid;
else l = mid + 1;
}
cout << l;
}