#include "secret.h"
using namespace std;
int st[3000];
int a[1005];
int n;
void build(int x, int xl, int xr){
if(xl==xr){
st[x]=a[xl];
return;
}
int mid=(xl+xr)/2;
build(x*2+1,xl,mid);
build(x*2+2,mid+1,xr);
st[x]=Secret(st[x*2+1],st[x*2+2]);
}
int get(int x, int xl, int xr, int l, int r){
if(xl>=l && xr<=r) return st[x];
if(xr<l || xl>r) return -1;
int mid=(xl+xr)/2;
int r1=get(x*2+1,xl,mid,l,r);
int r2=get(x*2+2,mid+1,xr,l,r);
if(r1==-1) return r2;
if(r2==-1) return r1;
return Secret(r1,r2);
}
void Init(int N, int A[]) {
n=N;
for(int i=0; i<n; i++){
a[i]=A[i];
}
build(0,0,n-1);
}
int Query(int L, int R) {
return get(0,0,n-1,L,R);
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |