华华给月月准备礼物(二分水题)

华华给月月准备礼物

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

题意

给定 根木棍长度,问分成不小于 根的最大长度。

思路

很简单的二分。

代码

#include <iostream>
using namespace std;
typedef long long ll;
const int maxn = 1e5+5;
int a[maxn];
int n,k;
bool check(int mid) {
    ll ans=0;
    for(int i=0;i<n;i++) {
        ans+=a[i]/mid;
    }
    return ans>=k;
}
int main() {
    scanf("%d%d",&n,&k);
    for(int i=0;i<n;i++) {
        scanf("%d",&a[i]);
    }
    int l=1,r=1e9,mid,ans;
    while(l<=r) {
        mid=(l+r)>>1;
        if(check(mid)) l=mid+1, ans=mid;
        else r=mid-1;
    }
    printf("%d\n",ans);
}
全部评论

相关推荐

10-05 11:11
海南大学 Java
投票
理想江南137:感觉挺真诚的 感觉可以试一试
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务