Submission #394089

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
3940892021-04-25 12:05:28SundavarRailway (BOI17_railway)C++14
100 / 100
366 ms37000 KiB
#include <bits/stdc++.h>
using namespace std;
typedef pair<int,int> pii;
int X = 18;
struct node{
vector<pii> to;
vector<int> father = *new vector<int>(X);
int with = -1, cnt = 0, d = -1, out = 0;
bool was = false;
};
vector<node> graph;
bool sortFunc(int a, int b){
return graph[a].out < graph[b].out;
}
int in = 0;
void DFS(int curr, int father){
graph[curr].was = true;
graph[curr].father[0] = father;
graph[curr].d = graph[father].d + 1;
for(int i = 1; i < X; i++)
graph[curr].father[i] = graph[graph[curr].father[i-1]].father[i-1];
for(pii& to : graph[curr].to)
if(!graph[to.first].was)
DFS(to.first, curr), graph[to.first].with = to.second;
graph[curr].out = in++;
graph[curr].was = false;
}
int lca(int a, int b){
if(graph[a].d < graph[b].d) swap(a,b);
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
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...