Submission #124552

#TimeUsernameProblemLanguageResultExecution timeMemory
124552NMAC427Sightseeing (NOI14_sightseeing)C++17
15 / 25
3331 ms262148 KiB
// https://oj.uz/problem/view/NOI14_sightseeing #include <bits/stdc++.h> #define int int64_t #define coutV(x) for (const auto& e: x) {cerr << e << " ";} cerr << "\n" using namespace std; int V, E, Q; vector<vector<pair<int, int>>> adj; vector<int> xI; signed main() { #ifndef __APPLE__ cin.tie(0); ios_base::sync_with_stdio(0); #endif cin >> V >> E >> Q; adj.resize(V); xI.resize(Q); for (int i = 0; i < E; i++) { int v1, v2, q; cin >> v1 >> v2 >> q; adj[v1 - 1].emplace_back(v2 - 1, q); adj[v2 - 1].emplace_back(v1 - 1, q); } for (int i = 0; i < Q; i++) { cin >> xI[i]; } // Dijkstra vector<int> visited (V, -1); priority_queue<pair<int, int>> pq; pq.push({INT64_MAX, 0}); while (!pq.empty()) { auto top = pq.top(); pq.pop(); int v = top.second; int pathQ = top.first; if (visited[v] != -1) { continue; } visited[v] = pathQ; for (const auto& child: adj[v]) { pq.push({min(child.second, pathQ), child.first}); } } for (const auto x: xI) { cout << visited[x - 1] << "\n"; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...