# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
59179 | TadijaSebez | Wall (IOI14_wall) | C++11 | 1512 ms | 208664 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 "wall.h"
#include <stdio.h>
#include <vector>
using namespace std;
#define pb push_back
const int N=2000050;
const int M=2*N;
const int inf=2e9+7;
int ls[M],rs[M],val[M],lzy1[M],lzy2[M],tsz,root;
int min(int a, int b){ return a>b?b:a;}
int max(int a, int b){ return a>b?a:b;}
void Build(int &c, int ss, int se)
{
c=++tsz;lzy1[c]=0;lzy2[c]=inf;
if(ss==se) return;
int mid=ss+se>>1;
Build(ls[c],ss,mid);
Build(rs[c],mid+1,se);
}
void Push(int c, int ss, int se)
{
val[c]=max(val[c],lzy1[c]);
val[c]=min(val[c],lzy2[c]);
if(ss!=se)
{
lzy1[ls[c]]=max(lzy1[ls[c]],lzy1[c]);
lzy1[ls[c]]=min(lzy1[ls[c]],lzy2[c]);
lzy2[ls[c]]=max(lzy2[ls[c]],lzy1[c]);
lzy2[ls[c]]=min(lzy2[ls[c]],lzy2[c]);
lzy1[rs[c]]=max(lzy1[rs[c]],lzy1[c]);
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... |