#include <bits/stdc++.h>
using namespace std;
const int maxN = 50005;
int l, n, m;
int L = 1, R, M;
int main() {
cin >> l>> n>> m;
int a[maxN], now, before = 0;
for (int i = 0; i < n; i++) {
cin >> now;
a[i] = now - before;
before = now;
}
a[n] = l - before;
if (n == m) {
cout << l;
return 0;
}
R = l / (n - m);
while (L <= R) {
M = (L + R) / 2;
int tmp, i, k = 0;
for (i = 0; i <= n; i++) {
tmp = a[i];
while (tmp < M && i < n) {
i++;
tmp += a[i];
k++;
}
}
if (k <= m)
L = M + 1;
else
R = M - 1;
}
cout << R;
return 0;
}