题解|#华华给月月准备礼物#
华华给月月准备礼物
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道真题和解析