RT
#include <iostream>
#include <cctype>
#include <cstdio>
using namespace std;
const int N = 100005;
int l, n, k;
int a[N];
bool check(int x) {
int m = 0;
for (int i = 2; i <= n; i++) {
if (a[i] - a[i - 1] >= x) {
m += (a[i] - a[i - 1]) / x;
if (a[i] - a[i - 1] % x == 0)
m--;
}
}
return m <= k;
}
int main() {
cin >> l >> n >> k;
for (int i = 1; i <= n; i++)
cin >> a[i];
int left = 0, right = l;
while (left < right) {
int mid = (left + right) >> 1;
if (check(mid))
right = mid;
else
left = mid + 1;
}
cout << left << endl;
return 0;
}