NC23049 华华给月月准备礼物

华华给月月准备礼物

https://ac.nowcoder.com/acm/problem/23049

题目描述

略。

题解

二分长度即可。

#include <bits/stdc++.h>
#define INF 2000000000
using namespace std;
typedef long long ll;
int read(){
    int f = 1, x = 0;
    char c = getchar();
    while(c < '0' || c > '9'){if(c == '-') f = -f; c = getchar();}
    while(c >= '0' && c <= '9')x = x * 10 + c - '0', c = getchar();
    return f * x; 
}
int n, m;
int a[200005];
void init(){
    n = read(), m = read();
    for (int i = 1; i <= n; ++i)
        a[i] = read();
}
void solve(){
    int l = 0, r = 1000000000;
    while (r > l){
        int mid = (l + r + 1) >> 1;
        ll cnt = 0;
        for (int i = 1; i <= n; ++i)
            cnt += a[i] / mid;
        if (cnt >= m) l = mid;
        else r = mid - 1;
    }
    printf("%d\n", l);
}
int main(){
    init();
    solve();
    return 0;
}
全部评论

相关推荐

苗条的伊泽瑞尔最喜欢...:同28届被压力了,电科✌就不能去卷算法吗?把Java留给我们双非卷
投递快手等公司10个岗位
点赞 评论 收藏
分享
面了100年面试不知...:今年白菜这么多,冬天可以狂吃了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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