Submission #1056292

#TimeUsernameProblemLanguageResultExecution timeMemory
1056292MinbaevSecret (JOI14_secret)C++17
0 / 100
277 ms4720 KiB
#include "secret.h" #include <bits/stdc++.h> using namespace std; const int Y = 1e5; const int inf = 3; int t[Y], a[Y], n; void build(int tl, int tr, int v){ if(tl == tr){ t[v] = a[tl]; return; } int tm = (tl+tr)/2; build(tl,tm,v*2); build(tm+1,tr,v*2+1); t[v] = Secret(t[v*2], t[v*2+1]); } int get(int tl, int tr, int v, int l, int r){ if(l <= tl && tr <= r){ return t[v]; } int tm = (tl+tr)/2; if(tm < l)return get(tm+1,tr,v*2+1,l,r); if(tm + 1 > r)return get(tl,tm,v*2,l,r); return Secret(get(tm+1,tr,v*2+1,l,r), get(tl,tm,v*2,l,r)); } void Init(int N, int A[]){ n = N; for(int i = 1;i<=N;i++){ a[i] = A[i-1]; } build(1,n,1); } int Query(int L, int R){ return get(1,n,1,L+1,R+1); }
#Verdict Execution timeMemoryGrader output
Fetching results...