Submission #1033512

#TimeUsernameProblemLanguageResultExecution timeMemory
1033512ArthuroWichCrocodile's Underground City (IOI11_crocodile)C++17
100 / 100
290 ms71108 KiB
#include "crocodile.h" #include <bits/stdc++.h> using namespace std; int travel_plan(int N, int M, int R[][2], int L[], int K, int P[]) { int n = N, m = M; vector<int> vis(n, 0); vector<vector<pair<int, int>>> adj(n); for (int i = 0; i < m; i++) { adj[R[i][0]].push_back({R[i][1], L[i]}); adj[R[i][1]].push_back({R[i][0], L[i]}); } priority_queue<pair<int, int>> pq; for (int i = 0; i < K; i++) { vis[P[i]] = 1; pq.push({0, P[i]}); } while(!pq.empty()) { auto [d, a] = pq.top(); pq.pop(); d = abs(d); vis[a]++; if (a == 0 && vis[a] > 1) { return d; } if (vis[a] == 1 || vis[a] > 2) { continue; } for (auto [b, w] : adj[a]) { if (vis[b] > 2) { continue; } pq.push({-(d+w), b}); } } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...