제출 #1077159

#제출 시각아이디문제언어결과실행 시간메모리
1077159juicyCrocodile's Underground City (IOI11_crocodile)C++17
100 / 100
637 ms75440 KiB
#include "crocodile.h" #include <bits/stdc++.h> int travel_plan(int n, int m, int R[][2], int L[], int k, int P[]) { std::vector<std::vector<std::array<int, 2>>> g(n); 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]}); } std::vector<int> d(n), vis(n); std::priority_queue<std::array<int, 2>, std::vector<std::array<int, 2>>, std::greater<std::array<int, 2>>> pq; for (int i = 0; i < k; ++i) { int u = P[i]; vis[u] = 1; pq.push({0, u}); } while (pq.size()) { auto [c, u] = pq.top(); pq.pop(); if (vis[u] == 2) { continue; } if (++vis[u] == 2) { d[u] = c; for (auto [v, w] : g[u]) { pq.push({c + w, v}); } } } return d[0]; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...