#include "closing.h"
#include <bits/stdc++.h>
using namespace std;
const int mxN = 2e5 + 100;
vector<pair<int, int>> adj[mxN];
int max_score(int N, int X, int Y, long long K, vector<int> U, vector<int> V, vector<int> W)
{
for(int i = 0; i <= N; ++i) adj[i].clear();
for(int i = 1; i <= N; ++i){
adj[U[i]].push_back({V[i], W[i]});
adj[V[i]].push_back({U[i], W[i]});
}
priority_queue<pair<int, int>> pq;
pq.push({0, X}), pq.push({0, Y});
vector<bool> vis(N + 5, 0);
vis[X] = vis[Y] = 1;
int ans = 0;
while(pq.size()){
auto tp = pq.top();
pq.pop();
if(-tp.first > X) break;
X -= -tp.first, ans += 1;
vis[tp.second] = 1;
for(auto it : adj[tp.second]){
if(!vis[it.first]){
pq.push({-(-tp.first + it.second), it.first});
vis[it.second] = 1;
}
}
}
return ans;
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |