#include <bits/stdc++.h>
using namespace std;
int l,n,m,d[50010],ans=-1;
bool is_r(int a){
int cnt=0,pos=0,front=0;
while (pos<n+1){
pos++;
if (d[pos]-d[front]<a){
cnt++;
}
else{
front=pos;
}
}
if (cnt>m){
return 0;
}
return 1;
}
int main(){
cin>>l>>n>>m;
for (int i=1;i<=n;i++){
cin>>d[i];
}
d[n+1]=l;
int cl=1,cr=l+1;
while (cl<cr){
int cm=(cl+cr)/2;
if (is_r(cm)){
ans=cm;
cl=cm+1;
}
else{
cr=cm-1;
}
}
cout<<ans<<endl;
return 0;
}
Subtask #0 第五个点WA了,求大佬能帮忙看看吗?谢谢!!