# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
793562 | vjudge1 | Putovanje (COCI20_putovanje) | C++17 | 253 ms | 40372 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;
const int N = 200100;
const int K = 20;
vector<int> adj[N];
int pai[N][K], in[N], out[N], cs = 0;
long long cost[N];
void pre_dfs(int u, int p)
{
in[u] = cs++;
pai[u][0] = p;
for(int i = 1; i < K; i++)
pai[u][i] = pai[pai[u][i-1]][i-1];
for(int v : adj[u])
if(v != p)
pre_dfs(v, u);
out[u] = cs++;
}
// u is ancestor of v ?
bool is_ancestor(int u, int v)
{
return in[u] <= in[v] && out[v] <= out[u];
}
int calc_lca(int a, int b)
{
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |