程式語言 - LeetCode - C++ - 1833. Maximum Ice Cream Bars



題目:


解答:

class Solution {
public:
    int maxIceCream(vector<int>& costs, int coins) {
        map<int, int> mp;

        for (int n : costs) {
            mp[n] += 1;
        }

        int ans = 0;

        for (auto [price, cnt] : mp) {
            if (price > coins) {
                break;
            }

            int buy = min(cnt, coins / price);

            ans += buy;
            coins -= (buy * price);
        }

        return ans;
    }
};