求助
查看原帖
求助
777059
Lyu_Lintse楼主2023/5/14 09:22

wa 4点


#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n, k,inn;
    cin >> n >> k;
    vector<int> woods;
    for (int i = 0; i < n; ++i)
	{
		cin >> inn;
		woods.push_back(inn);
	}
	sort(woods.begin(),woods.end());
    int left = 1, right = *(woods.end()-1);
    while (left < right)
	{
        int mid = (left + right + 1) / 2;
        int cnt = 0;
        for (int i = 0; i < n; ++i)
        {
        	cnt += woods[i] / mid;
        }
        if (cnt >= k)
		{
			left = mid;
		}
        else
		{
			right = mid - 1;
		}
    }
    cout << right << endl;
    return 0;
}
2023/5/14 09:22
加载中...