#include "secret.h"
#include <bits/stdc++.h>
using namespace std;
#define FOR(i,l,r) for(int i=(l),_r=(r);i<=_r;i++)
const int LOG = 14, INF = 2e9;
int n, st[10111 * 4];
void update(int u, int v, int id = 1, int l = 1, int r = n){
if(u < l || r < u)return;
if(l == r){
st[id] = v;
return;
}
int mid = (l + r) >> 1;
update(u,v,id*2,l,mid);
update(u,v,id*2+1,mid+1,r);
st[id] = Secret(st[id * 2], st[id * 2 + 1]);
}
int get(int u, int v, int id = 1, int l = 1, int r = n){
if(v < l || r < u)return -INF;
if(u <= l && r <= r)return st[id];
int mid = (l + r) >> 1;
int LT = get(u,v,id*2,l,mid);
int RT = get(u,v,id*2+1,mid+1,r);
if(LT != -INF && RT != -INF)return Secret(LT, RT);
if(LT == -INF)return RT;
if(RT == -INF)return LT;
return -INF;
}
void Init(int N, int A[]) {
n = N;
FOR(i,1,n){
update(i, A[i - 1]);
}
}
int Query(int L, int R) {
L++,R++;
return get(L, R);
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |