3
int findMaximizedCapital(int k, int w, vector<int> &profits, vector<int> &capital) {4
priority_queue<pair<int, int>, vector<pair<int, int>>, greater<pair<int, int>>> pqsg;5
priority_queue<pair<int, int>> pqgs;6
int n = capital.size();7
for (int i = 0; i < n; i++) {8
// int val = profit[i]-capital[i];10
pqgs.push({profits[i], capital[i]});11
} else if (capital[i] > w) {12
pqsg.push({capital[i], profits[i]});15
while (k-- && !pqgs.empty()) {16
pair<int, int> tmp = pqgs.top();19
while (!pqsg.empty() && pqsg.top().first <= w) {20
pqgs.push({pqsg.top().second, pqsg.top().first});