Submission #1305458

#TimeUsernameProblemLanguageResultExecution timeMemory
1305458aaaaaaaaClosing Time (IOI23_closing)C++20
0 / 100
52 ms17100 KiB
#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.first] = 1; } } } 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...