Submission #51219

#TimeUsernameProblemLanguageResultExecution timeMemory
51219robertSightseeing (NOI14_sightseeing)C++14
15 / 25
3553 ms104500 KiB
#include <iostream> #include <vector> #include <queue> using namespace std; typedef pair<int, int> ii; vector<vector<ii > > g; int main(){ iostream::sync_with_stdio(false); cin.tie(0); int N, M, Q; cin>>N>>M>>Q; g.assign(N+1, vector<ii >()); int a, b, c; for(int m=0; m<M; m++){ cin>>a>>b>>c; g[a].push_back({b, c}); g[b].push_back({a, c}); } vector<int> d(N+1, -1e9); vector<int> v(N+1, 0); d[1] = 1e9; priority_queue<ii> q; q.push({d[1], 1}); while(!q.empty()){ ii t = q.top(); q.pop(); if(v[t.second]) continue; v[t.second] = true; for(int x=0; x<g[t.second].size(); x++){ if(d[g[t.second][x].first]<min(g[t.second][x].second, t.first)){ d[g[t.second][x].first] = min(g[t.second][x].second, t.first); q.push({d[g[t.second][x].first], g[t.second][x].first}); } } } for(int q=0; q<Q; q++){ int a; cin>>a; cout << d[a] << endl; } return 0; }

Compilation message (stderr)

sightseeing.cpp: In function 'int main()':
sightseeing.cpp:32:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int x=0; x<g[t.second].size(); x++){
                ~^~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...