A看了之后 排序从大的开始 累加算平均数
牛牛的分配
https://ac.nowcoder.com/acm/contest/6777/A
我看了一下 一开始想拿多余填补少的 但是感觉可能出问题(怕wa)
就排序了一下 然后从后往前累加算平均数(符合题意的模拟)
class Solution { public: /** * 返回重新分配后,满足牛牛要求的水量的瓶子最多的数量 * @param n int整型 瓶子的数量 * @param x int整型 牛牛的对瓶中的水量要求 * @param a int整型vector 每个瓶子中的含水量 * @return int整型 */ int solve(int n, int x, vector<int>& a) { sort(a.begin(), a.end()); long long int zs=0,num=0; for (int i = n - 1; i >= 0; i--) { if ((zs + a[i]) / (n - i) >= x) { zs += a[i]; num = n - i; } else { break; } } return num; } };