A、牛牛的分配




class Solution {
public:
    /**
     * 返回重新分配后,满足牛牛要求的水量的瓶子最多的数量
     * @param n int整型 瓶子的数量
     * @param x int整型 牛牛的对瓶中的水量要求
     * @param a int整型vector 每个瓶子中的含水量
     * @return int整型
     */
    int solve(int n, int x, vector<int>& a) {
        // write code here
        sort(a.begin(),a.end(),greater<int>());
        long long sum = 0;
        for(int i=0;i<n;++i){
            sum += a[i] - x;
            if(sum < 0)    return i;
        }
        return n;
    }
};

C、牛牛摇骰子




class Solution {
public:
    /**
     * 把所有询问的答案按询问顺序放入vector里
     * @param arr int整型vector 要查询坐标的数组
     * @return int整型vector
     */
    vector<int> MinimumTimes(vector<int>& arr) {
        // write code here
        int dis[] = {0,3,2,1,2,3,2,1,2,3,2};
        vector<int> ans;
        for(auto it:arr){
            int n  = it / 11,m=it % 11;
            if(it == 2){ ans.push_back(4); }
            else{ ans.push_back(n + dis[m]); }
        }
        return ans;
    }
};