# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1036781 | juicy | Capital City (JOI20_capital_city) | C++17 | 1221 ms | 380100 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 <bits/stdc++.h>
using namespace std;
#ifdef LOCAL
#include "debug.h"
#else
#define debug(...) 42
#endif
const int N = 2e5 + 5, LG = 18, MAX = 3600005;
int n, k, m;
int lst[N], c[N], dep[N], pr[LG][N], id[LG][N], low[MAX], num[MAX], cnt[MAX], lab[MAX];
vector<int> tree[N], g[MAX];
void dfs(int u) {
for (int v : tree[u]) {
if (v != pr[0][u]) {
pr[0][v] = u;
id[0][v] = c[u];
for (int i = 1; i < LG; ++i) {
id[i][v] = ++m;
pr[i][v] = pr[i - 1][pr[i - 1][v]];
g[m].push_back(id[i - 1][v]);
g[m].push_back(id[i - 1][pr[i - 1][v]]);
}
dep[v] = dep[u] + 1;
dfs(v);
}
# | 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... |