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;
}
};
全部评论

相关推荐

10-25 00:32
香梨想要offer:感觉考研以后好好学 后面能乱杀,目前这简历有点难
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-27 10:28
点赞 评论 收藏
分享
评论
3
收藏
分享
牛客网
牛客企业服务