Submission #402500

#TimeUsernameProblemLanguageResultExecution timeMemory
402500JasiekstrzCrocodile's Underground City (IOI11_crocodile)C++17
100 / 100
861 ms92948 KiB
#include "crocodile.h" #include<bits/stdc++.h> #define fi first #define se second using namespace std; const int NN=1e5; int vis[NN+10]; long long d[NN+10]; priority_queue<pair<int,int>> pq; vector<pair<long long,int>> e[NN+10]; int travel_plan(int N,int M,int R[][2],int L[],int K,int P[]) { for(int i=0;i<M;i++) { e[R[i][0]].emplace_back(R[i][1],L[i]); e[R[i][1]].emplace_back(R[i][0],L[i]); } for(int i=0;i<K;i++) { vis[P[i]]=1; pq.push({0,P[i]}); } while(!pq.empty()) { int x=pq.top().se; long long c=-pq.top().fi; pq.pop(); vis[x]++; if(vis[x]!=2) continue; //cerr<<x<<" "<<c<<"\n"; d[x]=c; for(auto v:e[x]) { if(vis[v.fi]<2) pq.push({-c-v.se,v.fi}); } } return d[0]; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...