# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
16256 | CodingBug | Wall (IOI14_wall) | C++98 | 1254 ms | 141720 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 <algorithm>
#include <stdio.h>
using namespace std;
struct Node{
int mn,mx;
Node *chi[2];
};
Node *r;
void updateTree(int s,int e,Node *no,int ss,int ee,int k,bool m){
if(ss<=s && e<=ee){
if(m){
no->mx=min(no->mx,k);
no->mn=min(no->mn,no->mx);
}
else{
no->mn=max(no->mn,k);
no->mx=max(no->mx,no->mn);
}
return;
}
if(e<ss || ee<s) return;
int mid=(s+e)/2;
if(no->chi[0]==NULL) no->chi[0]=new Node();
if(no->chi[1]==NULL) no->chi[1]=new Node();
for(int i=0;i<2;i++){
no->chi[i]->mn=max(min(no->chi[i]->mn,no->mx),no->mn);
no->chi[i]->mx=min(max(no->chi[i]->mx,no->mn),no->mx);
# | 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... |