Submission #487207

#TimeUsernameProblemLanguageResultExecution timeMemory
487207AnasBenMoussaSecret (JOI14_secret)C++14
0 / 100
449 ms4312 KiB
#include <bits/stdc++.h> #include "secret.h" using namespace std; long long a[10000]; long long tree[400000];int n; int mer(int a,int b){ if(a==-1){return b;} if(b==-1){return a;} return Secret(a,b); } void build(int v, int tl, int tr) { if (tl == tr) { tree[v] = a[tl]; } else { int tm = (tl + tr) / 2; build( v*2, tl, tm); build( v*2+1, tm+1, tr); tree[v] = mer(tree[v*2],tree[v*2+1]); } } void Init(int N, int A[]){ n=N; for(long long i=0;i<N;i++){ a[i]=A[i]; } build(0,0,N-1); } int sum(int v, int tl, int tr, int l, int r) { if (l>r) return -1 ; if (l == tl && r == tr) { return tree[v]; } int tm = (tl + tr) / 2; return mer(sum(v*2, tl, tm, l, min(r, tm)) ,sum(v*2+1, tm+1, tr, max(l, tm+1), r)); } int Query(int L , int R){ return sum(0,0,n-1,L,R); }
#Verdict Execution timeMemoryGrader output
Fetching results...