답안 #826312

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
826312 2023-08-15T12:36:24 Z Denkata 비밀 (JOI14_secret) C++14
100 / 100
369 ms 8324 KB
#include "secret.h"
int prefix[1006][1006];
int n;
void precompute(int l,int r,int A[])
{
    if(r<l)return ;
    if(r==l)
    {
        prefix[l][r] = A[l];
        return ;
    }
    int mid = (l+r)/2;

    prefix[mid][mid]=A[mid];
    prefix[mid+1][mid+1]=A[mid+1];

    for(int i=mid+2;i<=r;i++)
        prefix[mid+1][i] = Secret(prefix[mid+1][i-1],A[i]);
    for(int i=mid-1;i>=l;i--)
        prefix[mid][i] = Secret(A[i],prefix[mid][i+1]);

    precompute(mid+1,r,A);
    precompute(l,mid,A);
}
void Init(int N, int A[])
{
    n=N;
    precompute(0,N-1,A);
}

int Query(int L, int R)
{
    int l = 0, r = n-1;
    while(l!=r)
    {
        int mid = (l+r)/2;
        if(mid>=L && mid+1<=R)
            return Secret(prefix[mid][L],prefix[mid+1][R]);
        else if(mid==R)///mid+1 moje da preskacha
            return prefix[mid][L];
        else if(mid<L)
            l=mid+1;
        else r=mid;
    }
    return prefix[l][l];
}

# 결과 실행 시간 메모리 Grader output
1 Correct 108 ms 4300 KB Output is correct - number of calls to Secret by Init = 3578, maximum number of calls to Secret by Query = 1
2 Correct 104 ms 4280 KB Output is correct - number of calls to Secret by Init = 3586, maximum number of calls to Secret by Query = 1
3 Correct 104 ms 4372 KB Output is correct - number of calls to Secret by Init = 3595, maximum number of calls to Secret by Query = 1
4 Correct 362 ms 8092 KB Output is correct - number of calls to Secret by Init = 7969, maximum number of calls to Secret by Query = 1
5 Correct 362 ms 8196 KB Output is correct - number of calls to Secret by Init = 7978, maximum number of calls to Secret by Query = 1
6 Correct 369 ms 8200 KB Output is correct - number of calls to Secret by Init = 7978, maximum number of calls to Secret by Query = 1
7 Correct 358 ms 8132 KB Output is correct - number of calls to Secret by Init = 7978, maximum number of calls to Secret by Query = 1
8 Correct 360 ms 8324 KB Output is correct - number of calls to Secret by Init = 7978, maximum number of calls to Secret by Query = 1
9 Correct 356 ms 8176 KB Output is correct - number of calls to Secret by Init = 7978, maximum number of calls to Secret by Query = 1
10 Correct 367 ms 8104 KB Output is correct - number of calls to Secret by Init = 7978, maximum number of calls to Secret by Query = 1