# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
970397 | jamesbamber | Mechanical Doll (IOI18_doll) | C++17 | 142 ms | 13136 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;
void create_circuit(int M, vector<int> A) {
int N = A.size();
vector<int> C(M + 1);
int sz = 1;
while(sz <= N) sz*= 2;
vector<int> state(sz+1);
vector<int> id(2*sz+2);
function<void(int,int)> addid = [&](int v, int i){
if(v >= sz){
id[v] = i;
return;
}
else id[v] = -v;
addid(2*v + state[v], i);
state[v] ^= 1;
};
for(int i=0; i<N; i++) addid(1, A[i]);
for(int i=N; i<sz-1; i++) addid(1, -1);
addid(1, 0);
//assert(accumulate(state.begin(), state.end(), 0) == 0);
# | 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... |