Submission #282360

#TimeUsernameProblemLanguageResultExecution timeMemory
282360iliccmarkoTraffic (IOI10_traffic)C++14
25 / 100
300 ms262148 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+5); 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+8; 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...