Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Solution {
- public:
- int maxPerformance(int n, vector<int>& speed, vector<int>& efficiency, int k) {
- long long int MOD = int(1e9)+7;
- vector<pair<int,int>> eng;
- for(int i=0; i<speed.size(); i++)
- eng.push_back({efficiency[i], speed[i]});
- sort(eng.rbegin(), eng.rend());
- priority_queue<int, vector<int>, greater<int>> speeds;
- long long int sumSpeed = 0, ans=0;
- for(auto &[e, s]:eng){
- sumSpeed += s;
- speeds.push(s);
- if(speeds.size() > k){
- sumSpeed -= speeds.top();
- speeds.pop();
- }
- ans = max(ans, e*sumSpeed);
- }
- return ans%MOD;
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement