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;
typedef long long ll;
typedef long double ld;
#define rep(a, b) for(int a = 0; a < (b); ++a)
#define st first
#define nd second
#define pb push_back
#define all(a) a.begin(), a.end()
const int LIM=2e5+7;
int lt[2*LIM], rt[2*LIM], n, m, N=1;
vector<int>V;
void zejdz(int v, int akt, int p) {
if(v>=N) {
lt[v]=V[akt];
rt[v]=V[akt+p];
return;
}
zejdz(2*v, akt, 2*p);
zejdz(2*v+1, akt+p, 2*p);
}
void create_circuit(int M, vector<int>A) {
V=A;
V.pb(0);
m=M;
n=V.size();
while(2*N<n) N*=2;
reverse(all(V));
while(V.size()<2*N) V.pb(-1);
reverse(all(V));
rep(i, 2*N) lt[i]=rt[i]=-1;
for(int i=1; i<N; ++i) {
lt[i]=-2*i;
rt[i]=-2*i-1;
}
zejdz(1, 0, 1);
vector<int>C, X, Y;
rep(i, m+1) C.pb(-1);
rep(i, 2*N-1) {
X.pb(lt[i+1]);
Y.pb(rt[i+1]);
}
answer(C, X, Y);
}
Compilation message (stderr)
doll.cpp: In function 'void create_circuit(int, std::vector<int>)':
doll.cpp:30:16: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
30 | while(V.size()<2*N) V.pb(-1);
| ~~~~~~~~^~~~
# | 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... |