# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
380836 | VodkaInTheJar | popa (BOI18_popa) | C++14 | 0 ms | 0 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 "popa.h"
using namespace std;
int find_root(int l, int r)
{
for (int i = l; i <= r; i++)
if (query(i, i, l, r))
return i;
}
int f(int l, int r, int *left, int *right)
{
if (l > r)
return -1;
int root = find_root(l, r);
left[root] = f(l, root-1);
right[root] = f(root+1, r);
return root;
}
int solve(int n, int *left, int *right)
{
return f(0, n-1, left, right);
}