Submission #91252

#TimeUsernameProblemLanguageResultExecution timeMemory
91252arman_ferdousCrocodile's Underground City (IOI11_crocodile)C++17
46 / 100
227 ms263168 KiB
#include "crocodile.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; const int N = 1e5+10; int n, isExit[N]; vector< pair<int,int> > g[N]; ll ans[N][2]; void solve(int u, int f) { if(isExit[u]) return; ans[u][0] = ans[u][1] = (ll)1e18; for(auto e : g[u]) if(e.first != f) { solve(e.first, u); ll C = e.second + ans[e.first][1]; if(C < ans[u][0]) { swap(ans[u][0], ans[u][1]); ans[u][0] = C; } else if(C < ans[u][1]) ans[u][1] = C; } } int travel_plan(int N_, int M, int R[][2], int L[], int K, int P[]) { n = N_; for(int i = 0; i < M; i++) { g[R[i][0]].push_back({R[i][1], L[i]}); g[R[i][1]].push_back({R[i][0], L[i]}); } for(int i = 0; i < K; i++) isExit[P[i]] = 1; solve(0,-1); return ans[0][1]; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...