Subtask #1 没过求助
查看原帖
Subtask #1 没过求助
352536
MH_SLC楼主2023/7/12 20:37
#include<bits/stdc++.h>
using namespace std;
int al[100010],n,ll,k,ans;
bool check(int x){
    int anss=0;
    for(int i=2;i<=n;i++)
        anss=anss+(al[i]-al[i-1]-1)/x;
    if(anss>k)
        return 0;
    return 1;
}
int main(){
    scanf("%d%d%d",&ll,&n,&k);
    for(int i=1;i<=n;i++)
        scanf("%d",&al[i]);
    int l=0,r=ll*2;
    while(l<=r){
        int mid=l+r>>1;
        if(check(mid))
            ans=mid,r=mid-1;
        else
            l=mid+1;
    }
    printf("%d\n",ans);
    return 0;
}
2023/7/12 20:37
加载中...