# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
379281 | wind_reaper | Putovanje (COCI20_putovanje) | C++17 | 160 ms | 23920 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 MXN = 200001;
const int lg = 20;
vector<array<int, 3>> adj[MXN];
struct LCA{
int up[lg][MXN];
int tin[MXN], tout[MXN];
int timer = 0;
LCA(){
dfs();
}
void dfs(int node = 0, int par = 0){
tin[node] = timer++;
up[0][node] = par;
for(int i = 1; i < lg; i++)
up[i][node] = up[i-1][up[i-1][node]];
for(auto& [v, c1, c2] : adj[node]){
if(v == par) continue;
dfs(v, node);
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |