# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
111238 | diamond_duke | New Home (APIO18_new_home) | C++11 | 5043 ms | 190540 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 <algorithm>
#include <cstdio>
#include <vector>
#include <set>
#include <map>
constexpr int INF = 2e8 + 5;
int seg[20000005], lson[20000005], rson[20000005], t_cnt;
void modify(int &u, int l, int r, int pos, int val)
{
if (!u)
u = ++t_cnt;
if (l == r)
{
seg[u] = val;
return;
}
int m = l + r >> 1;
if (pos <= m)
modify(lson[u], l, m, pos, val);
else
modify(rson[u], m + 1, r, pos, val);
seg[u] = std::min(seg[lson[u]], seg[rson[u]]);
}
int query(int u, int l, int r, int pos, int mn)
{
if (l == r)
return l;
int m = l + r >> 1;
if (m >= pos && std::min(mn, seg[rson[u]]) >= pos - (m - pos))
return query(lson[u], l, m, pos, std::min(mn, seg[rson[u]]));
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... |