7 条题解

  • 0
    @ 2025-3-18 16:42:30
    #include<bits/stdc++.h>
    using namespace std;
    int n, k, a[100005], max_a=-1;
    int check(int k){
    int   ret=0;
    for(int j=0; j<n; j++)
    ret+=a[j]/k;
    return ret;
    }
    int main()
    {
    cin>>n>>k;
    for(int i=0; i<n; i++)
    cin>>a[i], max_a=max(max_a,a[i]);
    int l=1, r=max_a;
    int ans=0;
    while(l<=r){
    int mid=(l+r)/2;
    if(check(mid)>=k){
    ans=mid;
    l=mid+1;
    }
    else
    r=mid-1;
    }
    cout<<ans;
    return 0;
    }
    小鸟
    
    

    信息

    ID
    1277
    时间
    1000ms
    内存
    256MiB
    难度
    5
    标签
    递交数
    144
    已通过
    50
    上传者