时间复杂度:O( (n+k)logn )
空间复杂度:O(n)
class Solution {
public:
int findMaximizedCapital(int k, int w, vector<int>& profits, vector<int>& capital) {
pair<int,int>pairs;
int count=0;
vector<pair<int,int>>v;
priority_queue<int,vector<int>,less<int> >q; //大根堆
for(int i=0;i<profits.size();i++){
v.push_back({capital[i],profits[i]});
}
sort(v.begin(),v.end());
for(int i=0;i<k;i++){
while(count<profits.size()&&v[count].first<=w){
q.push(v[count].second);
count++;
}
if(!q.empty()){
w+=q.top();
q.pop();
}else{
break;
}
}
return w;
}
};