求错,红色100分
查看原帖
求错,红色100分
1755187
caozexuan101楼主2025/7/28 17:40
#include<bits/stdc++.h>
using namespace std ;
int k,n,m;
int pos[50005];
bool ch(int mid){
    int ans=0,st=0;
    for(int i=1;i<=n;++i)
        if(pos[i]-st<mid)
            ans=ans+1;
        else st=pos[i];
    return ans<=m;
}

int main(){
    cin>>k>>n>>m;
    for(int i=1;i<=n;++i)cin>>pos[i];
    int l=0,r=k,mid;
    while(l<r){
        mid=(l+r)>>1;
        if(ch(mid))l=mid+1;
        else r=mid-1;
    }
    if(!ch(l))l-=1;
    cout<<l;
    return 0;
}
2025/7/28 17:40
加载中...