class Solution { public: int findMaximizedCapital(int k, int w, vector<int>& profits, vector<int>& capital) { int pt=0; priority_queue<int>Q; vector<pair<int,int>>V; int n=size(profits); for(int i=0;i<n;i++)V.emplace_back(-capital[i],profits[i]); sort(begin(V),end(V),greater<>{}); for(int i=0;i<k;i++) { while(pt<n&&-V[pt].first<=w)Q.push(V[pt++].second); if(Q.empty())break; int mxp=Q.top();Q.pop(); if(mxp<0)break; w+=mxp; } return w; } };

루비 안 쓴 이유: 루비에 라이브러리로 우선순위 큐를 넣어줬다고는 하나 안 써봐서 쓸 줄을 모름