1 条题解

  • 1
    @ 2024-8-2 9:26:05

    #include<bits/stdc++.h> using namespace std; const int maxn=1e6+5; long long int a[maxn],len,n,m; int check(int mid){ int cnt=0,now=0; for(int i=1;i<=n;i++){ if(a[i]-a[now]<mid) { cnt++; } else{ now=i; } } if(cnt<=m) return 1; return 0; } int main(){ cin>>len>>n>>m; for(int i=1;i<=n;i++) cin>>a[i]; a[0]=0; a[n+1]=len; long long l=1,h=len; while(l<h){ long long mid=(l+h+1)/2; if(check(mid)) l=mid; else h=mid-1; } cout<<l; return 0; }

    • 1

    信息

    ID
    1953
    时间
    1000ms
    内存
    256MiB
    难度
    9
    标签
    递交数
    15
    已通过
    3
    上传者