c
#include<bits/stdc++.h>
using namespace std;
int s[100005];
int L,N,K;
bool check(int x){
long long y=K;
long long d=0;
for(int i=1;i<N;i++){
if(s[i]-d<=x){
d=s[i];
}else{
d=d+x;
i--;
y--;
}
if(y<0){
break;
}
}
if(y>=0){
return true;
}else{
return false;
}
}
int main(){
cin>>L>>N>>K;
int t=0;
while(t<N){
cin>>s[t];
t++;
}
int l=0,r=L;
int ans;
while(l<=r){
int mid=l+(r-l)/2;
if(check(mid)){
ans=mid;
r=mid-1;
}else{
l=mid+1;
}
}
cout<<ans;
return 0;
}