# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
223196 | shenxy | Putovanje (COCI20_putovanje) | C++11 | 249 ms | 19960 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 <cstdio>
#include <algorithm>
#include <vector>
#include <map>
using namespace std;
typedef pair<int, int> ii;
int N, depth[100000], st[100000], parent[100000], hchild[100000], head[100000], preo[100000], post[100000], cnt = 0;
vector<int> adjlist[100000];
int dfs1(int v) {
int ms = 0;
for (int i: adjlist[v]) {
if (i == parent[v]) continue;
depth[i] = depth[v] + 1;
parent[i] = v;
int temp = dfs1(i);
st[v] += temp;
if (temp > ms) ms = temp, hchild[v] = i;
}
return st[v];
}
void dfs2(int v) {
preo[cnt] = v;
post[v] = cnt++;
if (hchild[v] != -1) {
head[hchild[v]] = head[v];
dfs2(hchild[v]);
}
for (int i: adjlist[v]) {
if (i == parent[v]) continue;
if (i == hchild[v]) continue;
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... |