#include <bits/stdc++.h>
using namespace std;
int n, L, k, a[100010];
bool check(int mid) {
int y = k;
int p = 0;
for (int i = 2; i <= n; i++) {
if (a[i] - p <= mid)
p = a[i];
else {
p += mid;
--i, --y;
}
}
if (y >= 0)
return true;
else
return false;
}
int main () {
cin >> L >> n >> k;
for (int i = 1; i <= n; i++)
cin >> a[i];
int r = L + 1, l = 1;
while (l + 1 < r) {
int mid = (l + r) / 2;
if (check(mid))
r = mid;
else
l = mid;
}
cout << r;
return 0;
}