Submission #1174810

#TimeUsernameProblemLanguageResultExecution timeMemory
1174810achinhchinCrocodile's Underground City (IOI11_crocodile)C++20
0 / 100
2 ms4932 KiB
#include "crocodile.h" #include <algorithm> #include <climits> #include <vector> #include <set> #include <queue> #include <utility> using namespace std; typedef long long ll; #define f first #define s second set<pair<ll, ll> > a[100000]; priority_queue<pair<ll, ll> > b; ll t, mn, i, c[100000]; int travel_plan(int N, int M, int R[][2], int L[], int K, int P[]) { while (M--) a[R[M][0]].insert(make_pair(L[M], R[M][1])), a[R[M][1]].insert(make_pair(L[M], R[M][0])); for (i = 1; i < N; i++) c[i] = LONG_LONG_MAX; b.push(make_pair(0, 0)); while (!b.empty()) { t = b.top().s; b.pop(); for (auto i = ++a[t].begin(); i != a[t].end(); i++) if (c[t] + (*i).f < c[(*i).s]) c[(*i).s] = c[t] + (*i).f, b.push(make_pair(c[(*i).s], (*i).s)); }mn = c[P[--K]]; while (K--) mn = min(mn, c[P[K]]); return mn; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...