leetcode

Solution to some Leetcode problems written in C++
git clone git://git.dimitrijedobrota.com/leetcode.git
Log | Files | Refs | README | LICENSE

2497.cpp (758B)


0 class Solution {
1 public:
2 int maxStarSum(vector<int> &vals, vector<vector<int>> &edges, int k) {
3 vector<vector<int>> adj(vals.size());
5 for (auto &e : edges) {
6 adj[e[0]].push_back(e[1]);
7 adj[e[1]].push_back(e[0]);
8 }
10 int res = INT_MIN;
11 for (int i = 0; i < vals.size(); i++) {
12 priority_queue<int, vector<int>, greater<int>> pq;
13 for (int c : adj[i]) {
14 if (vals[c] <= 0) continue;
15 pq.push(vals[c]);
16 if (pq.size() > k) pq.pop();
17 }
18 int sum = vals[i];
19 while (!pq.empty())
20 sum += pq.top(), pq.pop();
21 res = max(res, sum);
22 }
23 return res;
24 }
25 };