제출 #1263275

#제출 시각아이디문제언어결과실행 시간메모리
1263275DeltaStructTraffic (IOI10_traffic)C++20
100 / 100
533 ms160804 KiB
#include <bits/stdc++.h>
using namespace std;

int res = 2e9,ret = -1;
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);
  }
  if (res>max(m,r)) res = max(m,r),ret = x;
  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 ret;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...