#include <bits/stdc++.h>
using namespace std;
int a[50007];
int d,m,n;
int l,r;
int ans;
bool check(int x){
int cnt=0,pos=0;
int i=0;
while(i<=n){
i++;
if(a[i]-a[pos]>x){
cnt++;
}
else{
pos=i;
}
}
if(cnt>m)return false;
else return true;
}
int main() {
scanf("%d%d%d",&d,&n,&m);
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
}
a[n+1]=d;
l=1;
r=d;
while(l<=r){
int mid=(l+r)/2;
printf("%d %d %d\n",l,r,mid);
if(check(mid)){
ans=mid;
l=mid+1;
}
else{
r=mid-1;
}
}
cout<<ans;
return 0;
}``````