record.
#include <bits/stdc++.h>
using namespace std;
int l, n, m, w[50005];
bool check(int x) {
int cnt = 0;
for (int i = 1; i <= n; i++) {
int dis = w[i]-w[i-1], begin = i-1;
if (dis < x) {
while (i <= n) {
cnt++;
if (dis+(w[i+1]-w[i]) >= x) {
i++; break;
}
if (dis+(w[begin+1]-w[begin]) >= x) break;
dis += w[i]-w[i-1];
i++;
}
if (i > n) return false;
}
}
return cnt <= m;
}
int main () {
cin >> l >> n >> m;
for (int i = 1; i <= n; i++) {
cin >> w[i];
}
w[n+1] = l;
int lft = 0, rig = l, ans = 0;
while (lft <= rig) {
int mid = (lft + rig) / 2;
if (check(mid)) {
ans = mid;
lft = mid + 1;
} else {
rig = mid - 1;
}
}
cout << ans << endl;
return 0;
}