# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
432090 | REALITYNB | Wall (IOI14_wall) | C++17 | 2811 ms | 208192 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 "wall.h"
#define pii pair<int,int>
#define F first
#define S second
#define mp make_pair
#define pb push_back
using namespace std;
const int mxn = 5e6 , N =5e5+100 ;
vector<vector<int>> sg(2,vector<int>(mxn,-1));
int query(int t ,int in,int l ,int r ,int ql ,int qr){
if(qr<l||r<ql) return -1 ;
if(ql<=l&&r<=qr) return sg[t][in] ;
int ans = query(t,in*2,l,(r+l)/2,ql,qr);
ans=max(ans,query(t,in*2+1,(r+l)/2+1,r,ql,qr)) ;
return ans;
}
int query(int i ,int t){
if(t) i=N-i;
return query(t,1,0,N,0,i);
}
void update(int t , int in, int l ,int r , int i,int v){
if(i<l||r<i) return ;
if(l==i&&r==i){
sg[t][in]=v ;
return ;
}
update(t,in*2,l,(r+l)/2,i,v);
update(t,in*2+1,(l+r)/2+1,r,i,v);
sg[t][in]=max(sg[t][in*2],sg[t][in*2+1]) ;
# | 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... |