1 条题解

  • 1
    @ 2026-1-12 16:50:52
    #include<bits/stdc++.h>
    using namespace std;
    long long n,k,a[100010];
    bool f(int x){
        int sum=0;
        for(int i=1;i<=n;i++)
            sum+=a[i]/x;
        if(sum>=k)
            return 1;
        return 0;
    }
    int main(){
        cin>>n>>k;
        for(int i=1;i<=n;i++)
            cin>>a[i];
        int  l=1,r=100000000,s=0;
        while(l<=r){
            int mid=(l+r)/2;
            if(f(mid)){
                l=mid+1;
                s=mid;
            }
            else
                r=mid-1;
        }
        cout<<s;
        return 0;
    }
    
    • 1

    信息

    ID
    1442
    时间
    1000ms
    内存
    128MiB
    难度
    5
    标签
    递交数
    3
    已通过
    3
    上传者