洛谷P2440
真不是我想水题目,只是单纯我真的很水
点击查看代码
#include<bits/stdc++.h>
using namespace std;
const int N = 100010;
vector<int>l(N);
int n, k;
bool check(int x) {
int cnt = 0;
for(int nowl : l) {
cnt += nowl / x;
}
return cnt >= k;
}
int main() {
cin >> n >> k;
l.resize(n);
for(int i = 0; i < n; i++) {
cin >> l[i];
}
sort(l.begin(), l.end());
int minl = 1, maxl = l[n - 1], ans = 0;
while(minl <= maxl) {
int mid = (maxl + minl) / 2;
if(check(mid)) {
ans = mid;
minl = mid + 1;
} else {
maxl = mid - 1;
}
}
cout << ans << '\n';
return 0;
}

浙公网安备 33010602011771号