leetcodeSolution 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()); 4 5 for (auto &e : edges) { 6 adj[e[0]].push_back(e[1]); 7 adj[e[1]].push_back(e[0]); 8 } 9 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 };