这道就有点水了,比不了“运输计划”
2025-07-27 11:03:50
发布于:北京
3阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
const int N=5e4+5;
int L,n,m,a[N];
bool check(int x){
int cnt=0,last=0;
for(int i=1;i<=n+1;i++){
if(a[i]-last<x) cnt++;
else last=a[i];
}
return cnt<=m;
}
int main(){
cin>>L>>n>>m;
for(int i=1;i<=n;i++) cin>>a[i];
a[n+1]=L; // 终点岩石
int l=1,r=L,ans=0;
while(l<=r){
int mid=(l+r)>>1;
if(check(mid)) ans=mid,l=mid+1;
else r=mid-1;
}
cout<<ans<<endl;
return 0;
}
这里空空如也
有帮助,赞一个