# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
304908 | model_code | Stations (IOI20_stations) | C++17 | 1236 ms | 1520 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 "stations.h"
#include <bits/stdc++.h>
using namespace std;
vector<int> sz, labels;
vector<vector<int>> E;
int dfsSiz(int x, int p = -1) {
sz[x] = 1;
for (int y : E[x]) {
if (y == p) continue;
sz[x] += dfsSiz(y, x);
}
return sz[x];
}
void dfs(int x, int s, int e, int p = -1, int h = 0) {
if (h & 1) {
labels[x] = e--;
} else {
labels[x] = s++;
}
for (int y : E[x]) {
if (y == p) continue;
dfs(y, s, s + sz[y] - 1, x, h + 1);
s += sz[y];
}
assert(s == e + 1);
}
vector<int> label(int n, int k, vector<int> u, vector<int> v) {
assert(u.size() == n - 1 && v.size() == n - 1);
sz = vector<int>(n);
labels = vector<int>(n);
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... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |