题解|#华华给月月准备礼物#

华华给月月准备礼物

https://ac.nowcoder.com/acm/contest/22353/F

//二分答案的方式,将答案二分然后验证。
#include <bits/stdc++.h>
typedef long long ll;

using namespace std;
const int maxn = 2e5+10;
ll N, K;
int a[maxn];

bool yanz(int x) {
    ll cnt = 0;
    for (int i=0;i<N;i++) {
        cnt += a[i]/x;
    }
    return cnt>=K;
}

int main() {
    cin>>N>>K;
    for (int i=0;i<N;i++) {
        cin>>a[i];
    }
    int l = 0, r = 1000000000;
    while (l<r) {
        int mid = (l+r+1)/2;
        if (yanz(mid)) l = mid;
        else r = mid-1;
    }
//     cout<<yanz(20);
    cout<<l;
    
    return 0;
}

全部评论

相关推荐

仁者伍敌:难怪小公司那么挑剔,让你们这些大佬把位置拿了
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务