# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
471920 | qwerasdfzxcl | Rainforest Jumps (APIO21_jumps) | C++14 | 2489 ms | 170116 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 "jumps.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
vector<int> sp1[200200], sp2[200200], sp3[200200], sp4[200200], a;
int n, l[200200], r[200200], INV[200200];
struct MST{
vector<int> tree[400400];
int sz;
void init(int n){
sz = n;
for (int i=sz;i<sz*2;i++) tree[i].push_back(a[i-sz]);
for (int i=sz-1;i;i--){
tree[i].resize(tree[i<<1].size()+tree[i<<1|1].size());
merge(tree[i<<1].begin(), tree[i<<1].end(), tree[i<<1|1].begin(), tree[i<<1|1].end(), tree[i].begin());
}
}
int query(int l, int r, int x){
int ret = -1;
for (l+=sz, r+=sz;l<r;l>>=1, r>>=1){
if (l&1){
auto iter = lower_bound(tree[l].begin(), tree[l].end(), x);
if (iter!=tree[l].begin()) ret = max(ret, *(--iter));
l++;
}
if (r&1){
--r;
auto iter = lower_bound(tree[r].begin(), tree[r].end(), x);
if (iter!=tree[r].begin()) ret = max(ret, *(--iter));
# | 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... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |