Submission #445966

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
4459662021-07-20 09:41:44prvocisloRailway (BOI17_railway)C++17
100 / 100
199 ms23356 KiB
#include <bits/stdc++.h>
typedef long long ll;
using namespace std;
const int maxn = 1e5 + 5, logn = 17;
int n, m, k, l[logn][maxn], tin[maxn], d[maxn], sum[maxn], id[maxn], timer = 0;
vector<pair<int, int> > g[maxn];
void dfs1(int u)
{
tin[u] = timer++;
for (int i = 1; i < logn; i++) l[i][u] = l[i-1][l[i-1][u]];
for (pair<int, int> v : g[u])
{
if (v.first == l[0][u]) continue;
l[0][v.first] = u, d[v.first] = d[u] + 1;
id[v.first] = v.second;
dfs1(v.first);
}
}
int lca(int a, int b)
{
if (d[a] < d[b]) swap(a, b);
for (int i = logn-1; i >= 0; i--) if (d[l[i][a]] >= d[b]) a = l[i][a];
if (a==b) return a;
for (int i = logn-1; i >= 0; i--) if (l[i][a] ^ l[i][b]) a = l[i][a], b = l[i][b];
return l[0][a];
}
vector<int> ans;
void dfs2(int u)
{
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...