Submission #1320776

#TimeUsernameProblemLanguageResultExecution timeMemory
1320776kawhietCrocodile's Underground City (IOI11_crocodile)C++20
100 / 100
360 ms71360 KiB
#include <bits/stdc++.h> #include "crocodile.h" using namespace std; int travel_plan(int N, int M, int R[][2], int L[], int K, int P[]) { vector<vector<array<int, 2>>> g(N); for (int i = 0; i < M; i++) { int u = R[i][0], v = R[i][1], w = L[i]; g[u].push_back({v, w}); g[v].push_back({u, w}); } priority_queue<pair<long long, int>, vector<pair<long long, int>>, greater<pair<long long, int>>> q; vector<int> vis(N); for (int i = 0; i < K; i++) { q.push({0, P[i]}); vis[P[i]]++; } while (!q.empty()) { auto [d, u] = q.top(); q.pop(); if (vis[u] == 1) { vis[u]++; if (u == 0) { return d; } for (auto [v, w] : g[u]) { q.emplace(d + w, v); } } else { vis[u]++; } } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...