# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
959547 | NemanjaSo2005 | Rectangles (IOI19_rect) | C++17 | 0 ms | 0 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 "split.h"
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int maxn=1e5+5;
ll N,a,b,c,siz[maxn],cent;
int rod[maxn],vel[maxn],ima[maxn];
bool prosli[maxn],blok[maxn];
vector<int> graf[maxn],stablo[maxn],A,B,C,V,res;
vector<pair<int,int>> ostale;
void maketree(int gde){
prosli[gde]=true;
for(int p:graf[gde])
if(!prosli[p]){
stablo[gde].push_back(p);
stablo[p].push_back(gde);
maketree(p);
}
else
ostale.push_back({p,gde});
}
int dfs1(int gde,int pret){
siz[gde]=1;
for(int p:stablo[gde])
if(p!=pret)
siz[gde]+=dfs1(p,gde);
return siz[gde];
}
int findcentr(int gde,int pret){
for(int p:stablo[gde]){