# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
395903 | Peti | Railway (BOI17_railway) | C++14 | 137 ms | 28056 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 logn = 20;
vector<vector<pair<int, int>>> g;
vector<vector<int>> lca;
vector<int> h1, h2, ert;
vector<bool> volt;
int hely = 0;
void bejar(int akt, int os){
volt[akt] = true;
h1[akt] = hely++;
lca[akt][0] = os;
for(pair<int, int> e : g[akt])
if(!volt[e.first])
bejar(e.first, akt);
h2[akt] = hely++;
return;
}
int get_lca(int a, int b){
if(h1[a] > h1[b]) swap(a, b);
if(h1[a] < h1[b] && h2[b] < h2[a])
return a;
for(int i = logn-1; i >= 0; i--)
if(h2[lca[a][i]] < h2[b])
a = lca[a][i];
# | 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... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |