Submission #47358

#TimeUsernameProblemLanguageResultExecution timeMemory
47358dqhungdlSightseeing (NOI14_sightseeing)C++17
15 / 25
3543 ms157748 KiB
#pragma GCC optimize("O3") #include <bits/stdc++.h> using namespace std; typedef pair<int,int> ii; int n,m,T,d[500005]; vector<ii> g[500005]; priority_queue<ii> Q; void ReadInt(int &number) { number=0; int c=getchar(); while(c<'0'||c>'9') c=getchar(); for (; ('0'<=c&&c<='9'); c=getchar()) number=number*10+c-48; } void OutPut(int x) { char s[10]; int i=0; do { s[++i]=x%10+'0'; x/=10; }while(x>0); while(i>0) putchar(s[i--]); } int Min(int x,int y) { return (x<y?x:y); } int main() { ios_base::sync_with_stdio(false); //freopen("TEST.INP","r",stdin); ReadInt(n); ReadInt(m); ReadInt(T); int u,v,w; while(m--) { ReadInt(u); ReadInt(v); ReadInt(w); g[u].push_back(ii(v,w)); g[v].push_back(ii(u,w)); } d[1]=1e9; Q.push(ii(1e9,1)); while(Q.size()>0) { int u=Q.top().second; int val=Q.top().first; Q.pop(); if(d[u]==val) for(int i=0; i<g[u].size(); i++) { int v=g[u][i].first; int w=g[u][i].second; if(d[v]<Min(d[u],w)) { d[v]=Min(d[u],w); Q.push(ii(d[v],v)); } } } while(T--) { ReadInt(u); OutPut(d[u]); puts(""); } }

Compilation message (stderr)

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