Maximum Bags With Full Capacity of Rocks LeetCode solution in C++
1class Solution {2public:3int maximumBags(vector<int> &capacity, vector<int> &rocks, int additionalRocks) {4int res(0), n(size(rocks));5priority_queue<int, vector<int>, greater<int>> pq;6for (int i = 0; i < n; i++) pq.push(capacity[i] - rocks[i]);78while (!pq.empty() and pq.top() <= additionalRocks) {9// pq.top() returns bag with least space.10additionalRocks -= pq.top();11pq.pop();12res++;13}14return res;15}16};