#include<iostream>
#include<cstdio>
#define int long long
using namespace std;
const int MAXN = 2e6 + 10;
int L, n, k;
int a[MAXN];
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;
}
signed main()
{
cin >> L >> n >> k;
int l = -1, r = 1e9;
for(int i=1;i<=n;i++) cin >> a[i];
while(l + 1 < r)
{
int mid = (l + r) >> 1;
if(check(mid)) l = mid;
else r = mid;
}
cout << r;
return 0;
}