Maximum Performance of a Team LeetCode solution in C++

1
class Solution {
2
public:
3
int maxPerformance(int n, vector<int> &speed, vector<int> &efficiency, int k) {
4
priority_queue<int, vector<int>, greater<int>> pq;
5
long long sum = 0, ans = 0;
6
const int m = 1e9 + 7;
7
vector<vector<int>> pairs(n, vector<int>(2, 0));
8
for (int i = 0; i < n; i++) pairs[i] = {efficiency[i], speed[i]};
9
sort(pairs.rbegin(), pairs.rend());
10
for (int i = 0; i < n; i++) {
11
sum += pairs[i][1];
12
pq.push(pairs[i][1]);
13
ans = max(ans, sum * pairs[i][0]);
14
if (pq.size() >= k) {
15
sum -= pq.top();
16
pq.pop();
17
}
18
}
19
return ans % (m);
20
}
21
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0