1 条题解

  • 0
    @ 2024-2-3 10:27:38
    #include<bits/stdc++.h>
    using namespace std;
    const int N=100010;
    int a[N];
    int n,c;
    bool cheak(int mid)
    {
        int cnt=1,last=a[1];
        for(int i=1;i<=n;i++)
        {
            if(a[i]-last>=mid)
            {
                cnt++;
                last=a[i];
            }
        }
        return cnt>=c;
    }
    int main ()
    {
        cin>>n>>c;
        for(int i=1;i<=n;i++)
        {
            cin>>a[i];
        }
        sort(a+1,a+n+1);
        int l=0,r=a[n];
        while(l<r)
        {
            int mid=l+r+1>>1;
            if(cheak(mid)) l=mid;
            else r=mid-1;
        }
        cout<<l;
        return 0;
    }
    
    • 1

    信息

    ID
    265
    时间
    1000ms
    内存
    125MiB
    难度
    9
    标签
    递交数
    12
    已通过
    3
    上传者