# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
198067 | DavidDamian | 자동 인형 (IOI18_doll) | C++11 | 148 ms | 20116 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"
using namespace std;
#define debug(x) cerr<<#x<<" = "<<x<<endl
vector<int> destino[100006];
int X[4000006];
int Y[4000006];
int create_tree(int i,int limit,int lv,int sum,int n,int root,int trigger)
{
int last=i;
if(lv==limit-1){
int threshold=(1<<limit)-n;
if(sum<threshold)
X[(i+root-1)-1]=-root;
else
X[(i+root-1)-1]=destino[trigger][sum-threshold];
sum+=(1<<lv);
//debug(sum);
if(sum<threshold)
Y[(i+root-1)-1]=-root;
else
Y[(i+root-1)-1]=destino[trigger][sum-threshold];
}
else{
X[i+root-1-1]=-(2*i+root-1);
last=max(last,create_tree(i*2,limit,lv+1,sum,n,root,trigger));
Y[i+root-1-1]=-(2*i+root);
last=max(last,create_tree(i*2+1,limit,lv+1,sum+(1<<lv),n,root,trigger));
}
return last;
}
# | 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... |