#include "closing.h"
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
#define pb push_back
int max_score(int N, int X, int Y, long long K, vector<int> U, vector<int> V, vector<int> W) {
priority_queue<pair<ll, int>, vector<pair<ll, int>>, greater<>> pq;
pq.push({0, X});
pq.push({0, Y});
int ans = 0;
bool vis[N];
vector<pair<ll, int>> g[N];
for (int i = 0; i < N-1; ++i) g[U[i]].pb({V[i], W[i]}), g[V[i]].pb({U[i], W[i]});
ll di[N];
fill(vis, vis+N, 0);
di[X] = di[Y] = 0;
while (!pq.empty()) {
auto [D, s] = pq.top(); pq.pop();
if (vis[s]) continue;
vis[s] = 1;
if (K >= D) K -= D, ans++;
for (auto [u, w] : g[s]) {
if (!vis[u]) pq.push({D+w, u});
}
}
cout << endl << endl;
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... |