#include<bits/stdc++.h>
using namespace std;
int L,N,M;
int dis[100001],pla[100001];
bool Jud(int mnl){
int s=0,us=0;
for(int i=1;i<=N;i++){
s+=dis[i];
if(s<mnl) us++;
else s=0;
if(us>M) return false;
}
return true;
}
int main(){
scanf("%d%d%d",&L,&N,&M);
for(int i=1;i<=N;++i){
scanf("%d",&pla[i]);
dis[i]=pla[i]-pla[i-1];
}
dis[++N]=L-pla[N-1];
int l=1,r=L,mid=(l+r)/2;
while(l<r){
if(Jud(mid)) l=mid;
else r=mid-1;
mid=(l+r)/2+1;
}
printf("%d\n",l);
}
8 3 1 2 4 7
本地输出2