#include "doll.h"
#include <bits/stdc++.h>
using namespace std;
#define pii pair<int, int>
#define mp make_pair
#define pb push_back
#define fi first
#define se second
int m;
vector<int> vect, x, y;
vector<pii> dnc(int node, int d){
if (d){
x[node-1]=-2*node;
y[node-1]=-2*node-1;
vector<pii> l=dnc(2*node, d-1);
vector<pii> r=dnc(2*node+1, d-1);
vector<pii> res;
for (int i=0; i<l.size(); ++i)res.pb(l[i]), res.pb(r[i]);
return res;
}
return {mp(node-1, 0), mp(node-1, 1)};
}
void create_circuit(int M, vector<int> A){
m=M;
vect=A;
vect.pb(-1);
vector<int> c(m+1, -1);
int dep=ceil(log2(vect.size()));
x.resize((1<<dep)-1, -1);
y.resize((1<<dep)-1, -1);
vector<pii> ord=dnc(1, dep-1);
for (int i=0; i<vect.size()-1; ++i){
if (ord[i].se)y[ord[i].fi]=vect[i];
else x[ord[i].fi]=vect[i];
}
y[y.size()-1]=0;
answer(c, x, y);
}
# | 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... |