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;
}
};
联想公司福利 1489人发布