제출 #487207

#제출 시각아이디문제언어결과실행 시간메모리
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...