程式語言 - LeetCode - C++ - 875. Koko Eating Bananas



參考資訊:
https://algo.monster/liteproblems/875
https://www.cnblogs.com/grandyang/p/10807121.html

題目:


解答:

class Solution {
public:
    int minEatingSpeed(vector<int>& piles, int h) {
        int r = 0;
        int left = 1;
        int right = ranges::max(piles);

        while (left <= right) {
            int mid = left + ((right - left) >> 1);

            long cnt = 0;
            for (int n : piles) {
                cnt += (n + mid - 1) / mid;
            }

            if (cnt <= h) {
                r = mid;
                right = mid - 1;
            }
            else {
                left = mid + 1;
            }
        }

        return r;
    }
};