제출 #980107

#제출 시각아이디문제언어결과실행 시간메모리
980107vjudge1봉쇄 시간 (IOI23_closing)C++17
0 / 100
74 ms21588 KiB
#include <bits/stdc++.h> #define rep(a,b,c) for(int a=b; a<c; a++) #define repa(a,b) for(auto a:b) #define ll long long #define pll pair<ll, ll> #define pb push_back #define fi first #define se second using namespace std; const int lim=2e5+5;; int max_score(int N, int X, int Y, ll K, vector<int> U, vector<int> V, vector<int> W){ ll dis[N], ans=0; vector<pll> adj[N]; rep(i,0,N) dis[i]=3e18+5; rep(i,0,N-1){ adj[U[i]].pb({V[i],W[i]}); adj[V[i]].pb({U[i],W[i]}); } priority_queue<pll, vector<pll>, greater<pll>> pq; pq.push({0,X}); pq.push({0,Y}); dis[X]=0; dis[Y]=0; while(pq.size()){ if(K<pq.top().fi) break; pll act=pq.top(); pq.pop(); if(dis[act.se]<act.fi) continue; K-=pq.top().fi; ans++; repa(e,adj[act.se]){ if(dis[e.fi]>act.fi+e.se){ dis[e.fi]=act.fi+e.se; pq.push({dis[e.fi],e.fi}); } } } 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...