#include<iostream>
using namespace std;
int len, n, m;
const int M = 1e5 + 9;
int a[M];
int s[M];
int ma = -1;
bool check(int x) {
int ret = 0;
for (int i = 1; i <= n; i++) {
if (s[i] > x) {
ret++;
int num = s[i] - x;
while (num > x) { ret++; num -= x; }
}
}
if (ret <= m)return true;
else return false;
}
int main()
{
ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
cin >> len >> n >> m;
for (int i = 1; i <= n; i++) cin >> a[i];
for (int i = 1; i <= n; i++) {
s[i] = a[i] - a[i - 1];
}
int j = 0; int k = len;
while (j < k) {
int mid = j + k >> 1;
if (check(mid))k = mid;
else j = mid + 1;
}
cout << k;
return 0;
}