#include <iostream>
#include <string>
#include <algorithm>
#include <cstdio>
#include <cmath>
using namespace std;
int n, k, pre = 0;
int t[100010];
void bi(int l, int r){
int mid = (l+r)/2, sum = 0;
if (mid == 0){
cout << "0";
exit(0);
}
if (mid == l){
for (int i = 0; i < n; i++) sum += t[i]/mid;
if (sum == k)cout << mid;
else cout << pre;
exit(0);
}
for (int i = 0; i < n; i++) sum += t[i]/mid;
if (sum >= k){
pre = mid;
bi(mid, r);
}
else bi(l, mid);
}
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
// freopen("in.txt", "r", stdin);
// freopen("out.txt", "w", stdout);
cin >> n >> k >> t[0];
int maxx = t[0];
for (int i = 1; i < n; i++){
cin >> t[i];
maxx = max(maxx, t[i]);
}
bi(0, maxx);
return 0;
}
【洛谷】P2440 木材加工
最新推荐文章于 2024-01-24 00:03:40 发布