# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
735736 |
2023-05-04T14:14:28 Z |
sandry24 |
Secret (JOI14_secret) |
C++17 |
|
0 ms |
0 KB |
#include <bits/stdc++.h>
#include "secret.h"
using namespace std;
#pragma GCC optimize("O3,unroll-loops")
#pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")
typedef long long ll;
typedef vector<int> vi;
typedef pair<int, int> pi;
#define pb push_back
#define mp make_pair
#define f first
#define s second
const int maxn = 1005;
int st[4*maxn];
int secret(int x, int y){
return (x + 2 * (y / 2));
}
int combine(int x, int y){
if(x == -1)
return y;
else if(y == -1)
return x;
else
return Secret(x, y);
}
void build(int v, int tl, int tr, int A[]){
if(tl == tr){
st[v] = A[tl];
} else {
int tm = (tl+tr)/2;
build(v*2, tl, tm, A);
build(v*2+1, tm+1, tr, A);
st[v] = Secret(st[v*2], st[v*2+1]);
}
}
int range_query(int v, int tl, int tr, int l, int r){
if(l > r)
return -1;
if(tl == tr)
return st[v];
int tm = (tl+tr)/2;
return combine(range_query(v*2, tl, tm, l, min(tm, r)),
range_query(2*v+1, tm+1, tr, max(tm+1, l), r));
}
int Query(int L, int R){
return range_query(1, 0, n-1, L, R);
}
void Init(int N, int A[]){
build(1, 0, n-1, A);
}
Compilation message
secret.cpp: In function 'int Query(int, int)':
secret.cpp:53:30: error: 'n' was not declared in this scope
53 | return range_query(1, 0, n-1, L, R);
| ^
secret.cpp: In function 'void Init(int, int*)':
secret.cpp:57:17: error: 'n' was not declared in this scope
57 | build(1, 0, n-1, A);
| ^