# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
70143 | yusufake | Wall (IOI14_wall) | C++98 | 1095 ms | 181500 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;
#include "wall.h"
#define N 2000006
#define tm (tl+tr >> 1)
int A[N<<2],B[N<<2],T[N];
void put1(int v, int x){
A[v] = max(A[v],x);
B[v] = max(B[v] , A[v]);
}
void put2(int v, int x){
B[v] = min(B[v],x);
A[v] = min(A[v] , B[v]);
}
void push(int v){
put1(v+v,A[v]); put1(v+v+1,A[v]); A[v] = 0;
put2(v+v,B[v]); put2(v+v+1,B[v]); B[v] = N;
}
void f(int v, int tl, int tr){
if(tl == tr) { T[tl] = A[v]; return; }
push(v); f(v+v,tl,tm); f(v+v+1,tm+1,tr);
}
void up(int v, int tl, int tr, int l, int r, int x, int h){
if(tl > r || tr < l) return;
if(tl >= l && tr <= 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... |