Submission #1228087

#TimeUsernameProblemLanguageResultExecution timeMemory
1228087Hamed_GhaffariTraffic (IOI10_traffic)C++20
100 / 100
568 ms149136 KiB
#include "traffic.h" #include <bits/stdc++.h> using namespace std; const int MXN = 1e6+5; int ans=2e9, tot, sz[MXN], ver=0; vector<int> g[MXN]; void dfs(int v, int p=-1) { int mx = 0; for(int u : g[v]) if(u!=p) { dfs(u, v); sz[v] += sz[u]; mx = max(mx, sz[u]); } if(p!=-1) mx = max(mx, tot-sz[v]); if(mx<ans) { ans = mx; ver = v; } } int LocateCentre(int N, int pp[], int S[], int D[]) { for(int i=0; i<N-1; i++) g[S[i]].push_back(D[i]), g[D[i]].push_back(S[i]); for(int i=0; i<N; i++) tot += pp[i], sz[i] = pp[i]; dfs(0); return ver; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...