# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
297175 | amiratou | Mechanical Doll (IOI18_doll) | C++14 | 204 ms | 20444 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"
#include <bits/stdc++.h>
using namespace std;
const int MX = (int)(1e5+5);
#define sz(x) (int)(x.size())
int log_2(int x){
return 31-__builtin_clz(x);
}
vector<int> occ[MX],C;
bool state[4*MX],last[4*MX];
int idx=1,X[4*MX],Y[4*MX],a[2*MX];
// fix indexes 2*i is wrong, must assign indexes dynamically
void gimme(int x){
//sz(oc[x])==1
int nb=(1<<(log_2(sz(occ[x])-1)+1))-1;
int sum=0,st=idx+1,comp=0;
vector<int> vec={idx};
while((sum+sz(vec))< nb){
vector<int> G;
for(auto it:vec){
X[it]=-st;
G.push_back(st),st++;
Y[it]=-st;
G.push_back(st),st++;
}
sum+=sz(vec);
vec=G;
}
C[x]=-idx;
# | 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... |