洛谷P2440

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;
}
posted @ 2025-05-19 09:23  Chuan81  阅读(50)  评论(0)    收藏  举报