# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
343075 | mjhmjh1104 | Village (BOI20_village) | C++14 | 200 ms | 30180 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <queue>
#include <cstdio>
#include <vector>
#include <numeric>
#include <algorithm>
using namespace std;
const int MAX = 100006;
int n, maxDepth[MAX], depth[MAX], childs[MAX], sz[MAX];
vector<int> adj[MAX], c[MAX];
int nextShort[MAX], e[MAX], resShort;
int nextLong[MAX];
long long resLong;
bool visited[MAX];
vector<int> tmp[MAX];
int tok[MAX];
int dfs(int x, int prev = -1) {
sz[x] = 1;
for (auto &i: adj[x]) if (i != prev) {
c[x].push_back(i);
sz[x] += dfs(i, x);
}
return sz[x];
}
int centroid(int x, int prev = -1) {
for (auto &i: adj[x]) if (i != prev && sz[i] > n / 2) return centroid(i, x);
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |