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