# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1176304 | pera | Race (IOI11_race) | C++20 | 260 ms | 34296 KiB |
#include<bits/stdc++.h>
using namespace std;
const int N = 2E5 + 1 , M = 1E6 + 1;
vector<int> dead(N) , sz(N) , f(M , -1);
vector<pair<int , int>> g[N];
int gsz(int u , int p = 0){
int s = 0;
for(auto [v , w] : g[u]){
if(v != p && !dead[v]){
s += gsz(v , u);
}
}
sz[u] = ++s;
return sz[u];
}
int find(int u , int m , int p = 0){
for(auto [v , w] : g[u]){
if(v != p && !dead[v] && sz[v] > m / 2){
return find(v , m , u);
}
}
return u;
}
void calc(int u , int p , int D , int L , int K , vector<pair<int , int>> &d){
if(L > K){
return;
}
d.emplace_back(L , D);
++D;
for(auto [v , w] : g[u]){
# | 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... |