# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
75133 | Diuven | Mechanical Doll (IOI18_doll) | C++14 | 165 ms | 14124 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 "doll.h"
typedef std::vector<int> vi;
int n, m, s;
vi X, Y, C;
int L[400010], R[400010], rt;
bool state[400010];
int B[200010];
int make_tree(){
vi Q, P;
for(int i=1; i<=n; i++) Q.push_back(i);
do{
for(int i=0, sz=Q.size(); i<sz; i+=2){
s++;
int a=Q[i], b=(i+1<sz ? Q[i+1] : 0);
L[s]=a, R[s]=b;
P.push_back(-s);
}
Q.clear(); Q=P; P.clear();
} while(Q.size()>1U);
return -Q[0];
}
int find(int v=-rt){
if(v>=0) return v;
int ret=find(state[-v] ? L[-v] : R[-v]);
state[-v]=!state[-v];
return ret;
}
# | 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... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |