#include <bits/stdc++.h>
using namespace std;
int res = 2e9;
int dfs(vector<vector<int>>& G,int x,int p,int s,int A[]){
int m = 0,r = s-A[x]; for (int y:G[x]) if (y!=p){
int t = dfs(G,y,x,s,A); r -= t,m = max(m,t);
}
res = min(res,max(m,r));
return s-r;
}
int LocateCentre(int n,int A[],int B[],int C[]){
vector<vector<int>> G(n); for (int i(0);i < n-1;++i) G[B[i]].emplace_back(C[i]),G[C[i]].emplace_back(B[i]);
dfs(G,0,-1,accumulate(A,A+n,0),A);
return res;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |