Submission #511427

#TimeUsernameProblemLanguageResultExecution timeMemory
511427AdamGS악어의 지하 도시 (IOI11_crocodile)C++14
100 / 100
478 ms98416 KiB
#include "crocodile.h" #include<bits/stdc++.h> using namespace std; typedef long long ll; typedef long double ld; #define rep(a, b) for(int a = 0; a < (b); ++a) #define st first #define nd second #define pb push_back #define all(a) a.begin(), a.end() const int LIM=1e5+7, INF=1e9+7; vector<pair<int,ll>>V[LIM]; ll mi[LIM], odw[LIM]; int travel_plan(int n, int m, int R[][2], int L[], int k, int P[]) { rep(i, n) mi[i]=INF; rep(i, m) { V[R[i][0]].pb({R[i][1], L[i]}); V[R[i][1]].pb({R[i][0], L[i]}); } priority_queue<pair<ll,int>>q; rep(i, k) q.push({0, P[i]}); while(!q.empty()) { ll o=-q.top().st, a=q.top().nd; q.pop(); if(odw[a]) continue; odw[a]=1; if(!a) return o; for(auto i : V[a]) { if(o+i.nd<=mi[i.st]) { if(mi[i.st]!=INF) q.push({-mi[i.st], i.st}); mi[i.st]=o+i.nd; } else { q.push({-o-i.nd, i.st}); } } } }

Compilation message (stderr)

crocodile.cpp: In function 'int travel_plan(int, int, int (*)[2], int*, int, int*)':
crocodile.cpp:20:30: warning: control reaches end of non-void function [-Wreturn-type]
   20 |  priority_queue<pair<ll,int>>q;
      |                              ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...