Submission #94831

#TimeUsernameProblemLanguageResultExecution timeMemory
94831easrui비밀 (JOI14_secret)C++14
6 / 100
1063 ms8456 KiB
#include "secret.h"
#include <bits/stdc++.h>
using namespace std;

int D[1001][1001],NN;

int process(int L, int R)
{
    int M = (L+R)/2;
    return D[L][R] = Secret(D[L][M],D[M+1][R]);
}

void Init(int N, int A[]) {
    for(int i=0; i<N; i++) D[i][i] = A[i];
    NN = N;
    for(int i=0; i<N; i++){
        for(int j=i+1; j<N; j++){
            D[i][j] = Secret(D[i][j-1],D[j][j]);
        }
    }
}

int getans(int S, int E, int L, int R)
{
    if(L<=S && E<=R) return D[S][E];
    int M = (S+E)/2, P=-1, Q=-1;
    if(M>=L) P = getans(S,M,L,R);
    if(M+1<=R) Q = getans(M+1,E,L,R);
    if(P==-1) return Q;
    if(Q==-1) return P;
    return Secret(P,Q);
}

int Query(int L, int R) {
    return getans(0,NN-1,L,R);
}
#Verdict Execution timeMemoryGrader output
Fetching results...