#include <bits/stdc++.h>
#include "secret.h"
using namespace std;
#define ll long long
#define f first
#define s second
int val[1001], n;
int seg[4001];
void build(int idx, int l, int r) {
if (l == r) {
seg[idx] = val[l];
return;
}
int mid = (l+r)/2;
build(idx*2, l, mid);
build(idx*2+1, mid+1, r);
seg[idx] = Secret(seg[idx*2], seg[idx*2+1]);
}
int quer(int idx, int l, int r, int x, int y) {
if (x <= l && r <= y) {
return seg[idx];
}
int mid = (l+r)/2;
int v = -1;
if (!(x > mid || y < l)) v = quer(idx*2, l, mid, x, y);
if (!(x > r || y < mid+1)) {
if (v == -1) {
v = quer(idx*2+1, mid+1, r, x, y);
} else {
v = Secret(v, quer(idx*2+1, mid+1, r, x, y));
}
}
return v;
}
int Query(int L, int R) {
return quer(1, 1, n, L+1, R+1);
}
void Init(int N, int A[]){
ios_base::sync_with_stdio(0);
cin.tie(0);
n = N;
for (int i = 1; i <= N; i++) val[i] = A[i-1];
build(1, 1, N);
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |