제출 #1005721

#제출 시각아이디문제언어결과실행 시간메모리
1005721ayankarimovaCrocodile's Underground City (IOI11_crocodile)C++14
0 / 100
1 ms8792 KiB
#include "crocodile.h" #include <bits/stdc++.h> using namespace std; #define endl '\n' #define ll long long #define pll pair<ll, ll> const ll sz=1e5+5, inf=INT_MAX; ll c[sz][2LL], used[sz]; vector<pll>g[sz]; priority_queue<pll, vector<pll>, greater<pll>>q; /* {} [] */ int travel_plan(int n, int m, int r[][2], int l[], int k, int p[]) { for(int i=0; i<m; i++){ ll u=r[i][0], v=r[i][1]; g[u].push_back({v, l[i]}); g[v].push_back({u, l[i]}); } for(int i=0; i<n; i++){ c[i][0]=inf; c[i][1]=inf; } for(int i=0; i<k; i++){ c[p[i]][0]=0; c[p[i]][1]=0; q.push({0, p[i]}); } while(q.size()){ ll u=q.top().second, dis=q.top().first; q.pop(); used[u]=1; for(auto i:g[u]){ ll v=i.first, w=i.second; if(!used[v]){ if(dis+w<c[v][0]){ c[v][1]=c[v][0]; c[v][0]=dis+w; } else c[v][1]=min(c[v][1], dis+w); q.push({c[v][1], v}); } } } return c[0][1]; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...