이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
#include "wall.h"
using namespace std;
struct node{
int s,e,m,omin,omax,flag;
node *l, *r;
node (int _s, int _e){
s = _s, e = _e, m = (s+e)/2;
omin = 100005, omax = 0, flag = 0;
if (s != e){
l = new node(s,m);
r = new node(m+1,e);
}
}
void value(){
if (s != e){
l->mini(s,m,omin);
l->maxi(s,m,omax);
r->mini(m+1,e,omin);
r->maxi(m+1,e,omax);
omax = flag = 0, omin = 100005;
}
}
int mini(int qs, int qe, int x){
if (qs == s && qe == e){
omin = min(omin,x);
omax = min(omax,omin);
flag = 1;
}
else{
if (flag) value();
if (qe <= m) l->mini(qs,qe,x);
else if (qs > m) r->mini(qs,qe,x);
else{
l->mini(qs,m,x);
r->mini(m+1,qe,x);
}
}
}
int maxi(int qs, int qe, int x){
if (qs == s && qe == e){
omax = max(x,omax);
omin = max(omax,omin);
flag = 1;
}
else{
if (flag) value();
if (qe <= m) l->maxi(qs,qe,x);
else if (qs > m) r->maxi(qs,qe,x);
else{
l->maxi(qs,m,x);
r->maxi(m+1,qe,x);
}
}
}
int qu(int x){
value();
if (s == e){
return omax;
}
if (x <= m){
return l->qu(x);
}
else return r->qu(x);
}
} *root;
void buildWall(int n, int k, int op[], int left[], int right[], int height[], int finalHeight[]){
root = new node(0,n-1);
for (int i = 0; i < k; i++){
if (op[i] == 1){
root->maxi(left[i],right[i],height[i]);
}
else{
root ->mini(left[i],right[i],height[i]);
}
}
for (int i =0; i < n; i++){
finalHeight[i] = root->qu(i);
}
return;
}
컴파일 시 표준 에러 (stderr) 메시지
wall.cpp: In member function 'int node::mini(int, int, int)':
wall.cpp:39:5: warning: no return statement in function returning non-void [-Wreturn-type]
}
^
wall.cpp: In member function 'int node::maxi(int, int, int)':
wall.cpp:55:5: warning: no return statement in function returning non-void [-Wreturn-type]
}
^
# | 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... |