#include <bits/stdc++.h>
using namespace std;
int a[100010];
int n,k,len;
int check(int mid){
int cnt=0,now=0;
for(int i=1;i<=n;i++){
if(a[i]-a[now]>mid){
if((a[i]-a[now])%mid==0) cnt+=(a[i]-a[now])/mid-1;
else cnt+=(a[i]-a[now])/mid;
}
else now=i;
}
if(cnt<=k) return 1;
return 0;
}
int main(){
scanf("%d%d%d",&len,&n,&k);
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
}
int l=0,r=len;
while(l<r){
int mid=(l+r)/2;
if(check(mid)) r=mid;
else l=mid+1;
}
printf("%d",l);
return 0;
}