Submission #1156820

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
11568202025-02-24 18:19:55AlgorithmWarriorFactories (JOI14_factories)C++20
100 / 100
4458 ms241048 KiB
#include "factories.h"
#include <bits/stdc++.h>
using namespace std;
int const MAX=5e5+5;
struct edge{
int nod,len;
};
vector<edge>tree[MAX];
bool dead[MAX];
int centroid_dad[MAX];
int subsize[MAX];
int get_subsize(int nod,int tata){
subsize[nod]=1;
for(auto [fiu,w] : tree[nod])
if(!dead[fiu] && fiu!=tata)
subsize[nod]+=get_subsize(fiu,nod);
return subsize[nod];
}
int find_centroid(int nod,int tata,int total_sz){
for(auto [fiu,w] : tree[nod])
if(!dead[fiu] && fiu!=tata && subsize[fiu]>total_sz/2)
return find_centroid(fiu,nod,total_sz);
return nod;
}
int whole_centroid;
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...