P2678
二分没过求助
#include <iostream>
using namespace std;
int main(){
ios::sync_with_stdio(false);
int l1,n,m,a[100010];
cin >> l1 >> n >> m;
for(int i = 1;i <= n;i++) cin >> a[i];
int l = 0,r = l1,mid,ans = 0;
while(l <= r){
mid = (l+r)/2;
int cnt = 0;
for(int i = 1;i < n;i++){
if(a[i+1] - a[i] < mid){
cnt++;
}
}
if(cnt <= m){
ans = max(mid,ans);
l = mid+1;
}else{
r = mid-1;
}
}
cout << ans;
}
提交记录