Submission #282356

#TimeUsernameProblemLanguageResultExecution timeMemory
282356iliccmarkoTraffic (IOI10_traffic)C++14
25 / 100
294 ms262144 KiB
#include <bits/stdc++.h> #include<traffic.h> using namespace std; #define ll long long #define endl "\n" using namespace std; int dfs(int u, int pret, vector<vector<int> > g, int &ans, int &ind, int svi, int p[]) { int br = 0; for(int i = 0;i<(int)g[u].size();i++) { int s = g[u][i]; if(s==pret) continue; br+=dfs(s, u, g, ans, ind, svi, p); } int maks = max(br, svi - p[u] - br); if(maks<ans) { ans = maks; ind = u; } return br + p[u]; } int LocateCentre(int n, int p[], int s[], int d[]) { vector<vector<int> > g(n+1); for(int i = 0;i<n-1;i++) { int a = s[i]; int b = d[i]; g[a].push_back(b); g[b].push_back(a); } int svi = 0; for(int i = 0;i<n;i++) { svi+=p[i]; } int ans = svi; int ind; dfs(0, -1, g, ans, ind, svi, p); return ind; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...