# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
594273 | Soumya1 | Mechanical Doll (IOI18_doll) | C++17 | 132 ms | 23060 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>
#ifdef __LOCAL__
#include <debug_local.h>
#endif
using namespace std;
const int mxN = 1e6 + 5;
int l[mxN], r[mxN], name[mxN];
int X[mxN], Y[mxN], state[mxN];
int cur = 1, take;
vector<int> ord;
void build(int x, int lx, int rx) {
if (lx == rx) return;
l[x] = 2 * x;
r[x] = 2 * x + 1;
int mx = (lx + rx) >> 1;
build(2 * x, lx, mx);
build(2 * x + 1, mx + 1, rx);
}
int compress(int x) {
if (!l[x]) {
take--;
return 1e9;
}
int rr = compress(r[x]);
int ll = -1;
if (take) ll = compress(l[x]);
name[x] = cur++;
X[name[x]] = ll, Y[name[x]] = rr;
return name[x];
Compilation message (stderr)
# | 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... |