제출 #1017143

#제출 시각아이디문제언어결과실행 시간메모리
1017143SiliconSquaredClosing Time (IOI23_closing)C++17
8 / 100
55 ms20564 KiB
using namespace std; #include "closing.h" #include <iostream> #include <vector> #include <set> #include <queue> #define ll long long #define ld long double #define INF 1000000000000000000 struct city{ vector<pair<int,int>> v; city(){} }; vector<city> v; int max_score(int n,int x,int y,ll k,vector<int> U,vector<int> V, vector<int> W){ v.clear(); v.resize(n); for (int i=0;i<n-1;i++){ v[U[i]].v.push_back({V[i],W[i]}); v[V[i]].v.push_back({U[i],W[i]}); } int z=0; priority_queue<pair<ll,int>,vector<pair<ll,int>>,greater<pair<ll,int>>> q; q.push({0,x}); q.push({0,y}); pair<ll,int> p; set<int> s; while (!q.empty()&&q.top().first<=k){ p=q.top(); q.pop(); if (s.find(p.second)!=s.end()){continue;} s.insert(p.second); k-=p.first; z++; for (auto i:v[p.second].v){ q.push({p.first+i.second,i.first}); } } return z; }
#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...