#include<bits/stdc++.h>
#include "secret.h"
using namespace std;
const int mxn = 1005;
int seg[4*mxn], a[mxn], n;
void build(int l,int r,int id){
if(l == r){
seg[id] = a[l];
return;
}
int mm = l+r>>1;
build(l, mm, id*2);
build(mm+1, r, id*2+1);
seg[id] = Secret(seg[id*2],seg[id*2+1]);
}
int query(int l,int r, int id,int ql,int qr){
if(ql <= l and r <= qr){
return seg[id];
}
int mm=l+r>>1;
if(qr<=mm){
return query(l,mm,id*2,ql,qr);
}
else if(ql>mm){
return query(mm+1,r,id*2+1,ql,qr);
}
else{
return Secret(query(l,mm,id*2,ql,mm),query(mm+1,r,id*2+1,mm+1,qr));
}
}
void init(int N, int b[]){
n = N;
for(int i=1;i<=n;i++){
a[i] = b[i-1];
}
build(1,n,1);
}
int Query(int l,int r){
return query(1,n,1,l,r);
}
Compilation message
secret.cpp: In function 'void build(int, int, int)':
secret.cpp:11:15: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
11 | int mm = l+r>>1;
| ~^~
secret.cpp: In function 'int query(int, int, int, int, int)':
secret.cpp:20:13: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
20 | int mm=l+r>>1;
| ~^~
/usr/bin/ld: /tmp/ccRZ6iXN.o: in function `main':
grader-full.cpp:(.text.startup+0x2a8): undefined reference to `Init(int, int*)'
collect2: error: ld returned 1 exit status