题解
2025-11-01 14:58:00
发布于:江苏
0阅读
0回复
0点赞
#include<bits/stdc++.h> //万能头棒棒哒
//#include<windows.h>
//#include<conio.h>
using namespace std;
const int MAXN=5e4+5;
int n,m,a[MAXN];
int solve(int len2){
int res=0;
int last=0;
for(int i=1;i<=n+1;i++){
if(a[i]-last<len2){
res++;
}else{
last=a[i];
}
}
return res;
}
int main(){
int len;
cin>>len>>n>>m;
for(int i=1;i<=n;i++){
cin>>a[i];
}
a[n+1]=len;
int l=1,r=len;
while(l<r){
int mid=(l+r+1)/2;
int ans=solve(mid);
if(ans<=m){
l=mid;
}else{
r=mid-1;
}
}
cout<<l;
return 0;
}
这里空空如也



有帮助,赞一个