# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
75396 | Xellos | Mechanical Doll (IOI18_doll) | C++14 | 181 ms | 16684 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 <bits/stdc++.h>
#include "doll.h"
#define ff first
#define ss second
using namespace std;
void create_circuit(int M, vector<int> A) {
int N = A.size();
int dep = 1;
while((1<<dep) < N+1) dep++;
vector< vector< pair<int, int> > > son[2];
vector< vector<int> > state(dep);
son[0].resize(dep);
son[1].resize(dep);
for(int i = 0; i < dep; i++) {
state[i].resize(1<<i, 0);
son[0][i].resize(1<<i, {i+1, -1});
son[1][i].resize(1<<i, {i+1, -1});
for(int j = 0; j < (1<<i); j++) {
son[0][i][j].ss = 2*j;
son[1][i][j].ss = 2*j+1;
}
}
vector<int> order;
for(int i = 0; i < (1<<dep); i++) {
int cur = 0;
for(int j = 0; j < dep; j++) {
int nxt;
if(state[j][cur]) nxt = son[1][j][cur].ss;
else nxt = son[0][j][cur].ss;
# | 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... |