RT,#3(N=M=0)过不去,是只能特判吗
code:
#include<iostream>
#include<algorithm>
using namespace std;
int L, M, N, dis[50008];
bool check(int ans){
int last = 0, cnt = 0;
for(int i = 1; i <= N; ++i){
if(dis[i] >= last + ans){
++cnt;
last = dis[i];
}
}
return N - cnt <= M;
}
int main(){
ios::sync_with_stdio(false);
cin >> L >> N >> M;
for(int i = 1; i <= N; ++i)
cin >> dis[i];
dis[N + 1] = L;
int l = 1, r = dis[N];
while(l <= r){
if(check((l + r) >> 1))
l = ((l + r) >> 1) + 1;
else
r = ((l + r) >> 1) - 1;
}
cout << r << endl;
}