Submission #1081042

#TimeUsernameProblemLanguageResultExecution timeMemory
1081042KiprasClosing Time (IOI23_closing)C++17
8 / 100
69 ms25360 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; adj[U[i]].clear(); adj[V[i]].clear(); } 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; q.push({0, y}); q.push({0, x}); ll res = 0; while(!q.empty()) { ll v = q.top().second, w = q.top().first; q.pop(); if(been[v])continue; if(w>k)break; been[v]=1; k-=w; res++; for(auto i : adj[v]) { if(been[i.first])continue; q.push({w+i.second, i.first}); } } 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...