Submission #748306

#TimeUsernameProblemLanguageResultExecution timeMemory
748306ToxtaqVoting Cities (NOI22_votingcity)C++17
15 / 100
15 ms852 KiB
#include<bits/stdc++.h> using namespace std; vector<vector<pair<int, int>>>G; vector<int>cities; int main() { int n, m, k; cin >> n >> m >> k; G.resize(n + 1); for(int i = 0;i < k;++i){ int a; cin >> a; a++; cities.push_back(a); } for(int i = 0;i < m;++i){ int u, v, c; cin >> u >> v >> c; u++; v++; G[v].push_back({u, c}); } vector<long long>dist(n + 1, 1e18); priority_queue<pair<long long, int>>pq; vector<int>check(n + 1); dist[cities[0]] = 0; pq.push({0, cities[0]}); while(!pq.empty()){ int cur = pq.top().second; pq.pop(); if(check[cur])continue; check[cur] = 1; for(pair<int, int> &temp: G[cur]){ long long v = temp.first, w = temp.second; if(dist[v] > dist[cur] + w){ dist[v] = dist[cur] + w; pq.push({-dist[v], v}); } } } int q; cin >> q; while(q--){ int s, p1, p2, p3, p4, p5; cin >> s >> p1 >> p2 >> p3 >> p4 >> p5; s++; long long mn = 1e18; mn = min(mn, dist[s]); if(mn == 1e18){ cout << -1 << '\n'; } else cout << mn << '\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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...