Submission #1080998

#TimeUsernameProblemLanguageResultExecution timeMemory
1080998KiprasClosing Time (IOI23_closing)C++17
0 / 100
75 ms29384 KiB
#include <bits/stdc++.h> typedef long long ll; using namespace std; const ll maxN = 2e5+10; vector<pair<ll, ll>> adj[maxN]; ll been[maxN]; 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++)been[i]=0; been[x]=1; been[y]=1; for(int i = 0; i < n-1; i++) { adj[U[i]].push_back({V[i], W[i]}); adj[V[i]].push_back({U[i], W[i]}); } priority_queue<pair<ll, ll>, vector<pair<ll, ll>>, greater<>> q; for(auto i : adj[x]) { q.push(i); } for(auto i : adj[y]) { q.push(i); } ll res = 0; while(!q.empty()) { ll v = q.top().first, w = q.top().second; if(w>k)break; k-=w; res++; for(auto i : adj[v]) { if(been[i.first])continue; q.push({i.first, w+i.second}); } } return res; }
#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...