# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
44541 | 2018-04-03T04:23:32 Z | zetapi | Sightseeing (NOI14_sightseeing) | C++14 | 3500 ms | 102868 KB |
/* Contest : Task : */ #include <bits/stdc++.h> using namespace std; #define pb push_back #define mp make_pair #define ll long long #define F first #define S second #define itr ::iterator typedef pair<int,int> pii; const int MAX=6e5+99; vector<pii> vec[MAX]; int V,E,Q,X,Y,Z,res[MAX]; void dijkstra() { int tem; pii cur; set<pii> pq; set<pii> ::iterator it; pq.insert(mp(MAX,1)); res[1]=MAX; while(! pq.empty()) { cur=*pq.rbegin(); it=pq.end(); it--; pq.erase(it); for(auto A:vec[cur.second]) { tem=min(cur.first,A.second); if(tem>res[A.first]) { if(res[A.first]) pq.erase(pq.find(mp(res[A.first],A.first))); res[A.first]=tem; pq.insert(mp(res[A.first],A.first)); } } } return ; } signed main() { //ios_base::sync_with_stdio(false); /*cin.tie(0); cout.tie(0);*/ //cin>>V>>E>>Q; scanf("%d %d %d",&V,&E,&Q); while(E--) { scanf("%d %d %d",&X,&Y,&Z); vec[X].pb(mp(Y,Z)); vec[Y].pb(mp(X,Z)); } dijkstra(); while(Q--) { scanf("%d",&X); printf("%d\n",res[X]); } return 0; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 13 ms | 14456 KB | Output is correct |
2 | Correct | 13 ms | 14456 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 15 ms | 14636 KB | Output is correct |
2 | Correct | 13 ms | 14636 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 72 ms | 16972 KB | Output is correct |
2 | Correct | 53 ms | 16972 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Execution timed out | 3552 ms | 102868 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |