# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
198185 | HungAnhGoldIBO2020 | Triple Jump (JOI19_jumps) | C++14 | 1348 ms | 87900 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>
using namespace std;
const int N=5e5+2;
const int inf=1e9+7;
int ar[N],ans[N];
struct node{
int lef=-inf,rig=-inf,ans=-inf;
} it[4*N];
vector<pair<int,int> > lis,query[N];
vector<int> upd_lis[N];
void get(int idx,int l,int r){
it[idx].lef=max(it[2*idx].lef,it[2*idx+1].lef);
it[idx].rig=max(it[2*idx].rig,it[2*idx+1].rig);
it[idx].ans=max(it[2*idx].ans,max(it[2*idx+1].ans,it[2*idx].lef+it[2*idx+1].rig));
}
node merge(node a,node b){
node ans;
ans.lef=max(a.lef,b.lef);
ans.rig=max(a.rig,b.rig);
ans.ans=max(a.ans,max(b.ans,a.lef+b.rig));
return ans;
}
void init(int idx,int l,int r){
if(l==r){
it[idx].rig=ar[l];
return;
}
init(2*idx,l,(l+r)/2);
init(2*idx+1,(l+r)/2+1,r);
get(idx,l,r);
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... |