Submission #427755

#TimeUsernameProblemLanguageResultExecution timeMemory
427755haxormanTraffic (IOI10_traffic)C++14
0 / 100
14 ms23808 KiB
#include "traffic.h" #include "bits/stdc++.h" using namespace std; const int mxN = 1e6 + 7; int n, p[mxN], dp[mxN], tot; vector<int> graph[mxN]; void dfs(int u, int par) { dp[u] = p[u]; for (auto v : graph[u]) { if (v != par) { dfs(v, u); dp[u] += dp[v]; } } } int LocateCentre(int N, int P[], int S[], int D[]) { n = N; for (int i = 0; i < n; ++i) { p[i] = P[i]; tot += p[i]; } for (int i = 0; i < n - 1; ++i) { graph[S[i]].push_back(D[i]); graph[D[i]].push_back(S[i]); } dfs(0, -1); int ans = INT_MAX; for (int u = 0; u < n; ++u) { ans = min(ans, max(tot - dp[u], dp[u] - p[u])); } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...