Submission #1206794

#TimeUsernameProblemLanguageResultExecution timeMemory
1206794Pekiban봉쇄 시간 (IOI23_closing)C++20
8 / 100
72 ms22088 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...