程式語言 - LeetCode - C++ - 2300. Successful Pairs of Spells and Potions



參考資訊:
https://www.cnblogs.com/cnoodle/p/17281951.html

題目:


解答:

class Solution {
public:
    vector<int> successfulPairs(vector<int>& spells, vector<int>& potions, long long success) {
        vector<int> r;

        sort(potions.begin(), potions.end());
        for (auto& n : spells) {
            int left = 0;
            int right = potions.size();
            int m = 0;

            while (left < right) {
                m = left + ((right - left) / 2);

                if ((static_cast<long long>(n) * potions[m]) < success) {
                    left = m + 1;
                }
                else {
                    right = m;
                }
            }

            r.push_back(potions.size() - left);
        }

        return r;
    }
};