Submission #713447

#TimeUsernameProblemLanguageResultExecution timeMemory
713447That_Salamander악어의 지하 도시 (IOI11_crocodile)C++14
100 / 100
725 ms101536 KiB
#include <iostream> #include <algorithm> #include <string> #include <vector> #include <cmath> #include <map> #include <set> #include <queue> #define FOR(var,bound) for(int var = 0; var < bound; var++) #define FORB(var,lb,up) for (int var = lb; var < ub; var++) #define FORR(var,bound) for(int var = bound-1; var >= 0; var--) #define int long long using namespace std; typedef long long ll; typedef vector<int> vi; typedef vector<vector<int>> vvi; typedef pair<int, int> pii; vector<vector<pii>> conn; vi a, b; vector<bool> v; signed travel_plan(signed n, signed m, signed R[][2], signed L[], signed k, signed P[]) { conn.resize(n); a.resize(n, 1000000000000ll); b.resize(n, 1000000000000ll); v.resize(n); for (int i = 0; i < m; i++) { int t, f, w; t = R[i][0]; f = R[i][1]; w = L[i]; conn[t].push_back({f, w}); conn[f].push_back({t, w}); } priority_queue<pair<int, int>, vector<pair<int, int>>, greater<pair<int, int>>> q; for (int i = 0; i < k; i++) { int x; x = P[i]; q.push({0, x}); } while (!q.empty()) { auto p = q.top(); q.pop(); int cost = p.first; int room = p.second; if (room == 0) { return cost; } if (v[room]) continue; v[room] = true; for (auto c: conn[room]) { int to = c.first; int time = cost + c.second; if (a[to] > time) { b[to] = a[to]; a[to] = time; } else if (b[to] > time) { b[to] = time; } q.push({b[to], to}); } } }

Compilation message (stderr)

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