Submission #1242947

#TimeUsernameProblemLanguageResultExecution timeMemory
1242947edga1Traffic (IOI10_traffic)C++20
0 / 100
11 ms23876 KiB
#include <bits/stdc++.h> #include "traffic.h" #define pb push_back using namespace std; const int N=1e6+5; vector<int> a[N]; int zem[N],c[N],pa[N]; int kop=0; void dfs(int v, int p){ pa[v]=p; kop+=c[v]; int sum=0; for(auto u : a[v]){ if(u!=p){ dfs(u,v); sum+=zem[u]+c[u]; } } zem[v]=sum; } int LocateCentre(int n, int pp[], int S[], int D[]) { for(int i=0; i<n-1; i++){ a[S[i]].pb(D[i]); a[D[i]].pb(S[i]); } for(int i=0; i<n; i++){ c[i]=pp[i]; } dfs(0,0); int r=2e9+5; for(int v=0; v<n; v++){ int cur=0; for(auto u : a[v]){ if(u==pa[v]){ cur=max(cur,kop-zem[v]-c[v]); }else{ cur=max(cur,zem[u]+c[u]); } } r=min(r,cur); } return r; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...