问题标题: 酷丁编程:7486

0
0
李梓岳
李梓岳
高级守护
高级守护

#include<bits/stdc++.h>

using namespace std;

long long a[2500005],cnt,maxn;

int n,x,g,m;

bool chack(int mid){

    int cnt=0;

    for(int i=1;i<=m;i++){

        cnt+=a[i]/mid;

    }

    return cnt>=n;

}

int main(){

    cin>>m>>n;

    for(int i=1;i<=m;i++){

        scanf("%d",&a[i]);

        maxn=max(maxn,a[i]);

    }

    int l=1,r=maxn;

    int ans;

    while(l<=r){

        int mid=(l+r)/2;

        if(chack(mid)){

            ans=mid;

            l=mid+1;

        }else{

            r=mid-1;

        }

    }

    cout<<ans;

    return 0;

}

我要回答