제출 #460816

#제출 시각아이디문제언어결과실행 시간메모리
460816BT21tataCrocodile's Underground City (IOI11_crocodile)C++17
46 / 100
243 ms262148 KiB
#include<bits/stdc++.h> #include "crocodile.h" typedef long long ll; using namespace std; vector<pair<ll,ll> >g[100005]; priority_queue<pair<ll,ll> >q; ll dis[100005]; bool used[100005], ext[100005]; void dfs(int v, int p) { for(pair<ll, ll> u : g[v]) { if(u.first!=p) { dis[u.first]=dis[v]+u.second; dfs(u.first, v); } } } ll ans(int v, int p) { vector<int>w; for(pair<ll, ll> u : g[v]) { if(u.first==p) continue; if(ext[u.first]) w.push_back(dis[u.first]); else w.push_back(ans(u.first, v)); } sort(w.begin(), w.end()); return w[1]; } int travel_plan(int n, int m, int R[][2], int L[], int k, int P[]) { for(int i=0; i<m; i++) { g[R[i][0]].push_back({R[i][1], L[i]}); g[R[i][1]].push_back({R[i][0], L[i]}); } for(int i=0; i<k; i++) ext[P[i]]=1; dis[0]=0; dfs(0, 0); return ans(0, 0); } /* 5 4 3 0 1 2 0 2 3 3 2 1 2 4 4 1 3 4 7 */
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...