1 条题解

  • 2
    @ 2024-8-1 16:31:28

    #include<bits/stdc++.h> using namespace std; const int maxn=1e6+5; long long int a[maxn],n,m,sum,maxa; int check(int mid){ int cnt=0; for(int i=1;i<=n;i++){

    	cnt+=a[i]/mid;
    }
    if(cnt>=m) return 1;
    return 0;
    

    } int main(){ cin>>n>>m; for(int i=1;i<=n;i++) { cin>>a[i]; sum+=a[i]; if(a[i]>maxa) maxa=a[i]; } if(sum<m){ cout<<0; return 0; } int l=1,h=maxa; while(l<h){ int mid=(l+h+1)/2; if(check(mid)) l=mid; else h=mid-1; } cout<<l; return 0; }

    信息

    ID
    2045
    时间
    1000ms
    内存
    128MiB
    难度
    6
    标签
    递交数
    77
    已通过
    21
    上传者