华华给月月准备礼物(二分水题)
华华给月月准备礼物
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); }