# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1003455 | AdamGS | Rainforest Jumps (APIO21_jumps) | C++17 | 1037 ms | 40016 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;
#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, LG=20;
int tr[4*LIM], lewo[LIM], prawo[LIM], nxtr[LIM][LG], nxt[LIM][LG], T[LIM], gdzie[LIM], n, N=1;
int cnt(int l, int r) {
if(l>r) return -1;
l+=N; r+=N;
int ans=max(tr[l], tr[r]);
while(l/2!=r/2) {
if(l%2==0) ans=max(ans, tr[l+1]);
if(r%2==1) ans=max(ans, tr[r-1]);
l/=2; r/=2;
}
return ans;
}
int znajdz(int l, int r, int x) {
int po=l, ko=r+1;
while(po<ko) {
int sr=(po+ko)/2;
if(cnt(sr, r)<x) ko=sr; else po=sr+1;
}
return cnt(po, r);
}
void init(int _n, vector<int>_T) {
# | 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... |