Submission #1087792

#TimeUsernameProblemLanguageResultExecution timeMemory
1087792T0p_Crocodile's Underground City (IOI11_crocodile)C++14
46 / 100
134 ms262144 KiB
#include "crocodile.h" #include <bits/stdc++.h> using namespace std; const int MAX_N = 100000 + 5; bool is_exit[MAX_N]; vector<pair<int, long long>> g[MAX_N]; long long solve(int u, int p) { if (is_exit[u]) { return 0; } long long mn_1 = 2e9, mn_2 = 2e9; for (pair<int, long long> edge : g[u]) { if (edge.first == p) continue; long long res = solve(edge.first, u) + edge.second; if (res < mn_1) { mn_2 = mn_1; mn_1 = res; } else { mn_2 = min(mn_2, res); } } return mn_2; } int travel_plan(int N, int M, int R[][2], int L[], int K, int P[]) { 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++) { is_exit[P[i]] = true; } return solve(0, -1); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...