Submission #1256856

#TimeUsernameProblemLanguageResultExecution timeMemory
1256856recp비밀 (JOI14_secret)C++20
0 / 100
390 ms4456 KiB
#include <bits/stdc++.h>
#include "secret.h"
using namespace std;
#define ll long long
#define f first
#define s second

int val[1001], n;
int seg[4001];

void build(int idx, int l, int r) {
    if (l == r) {
        seg[idx] = val[l];
        return;
    }
    int mid = (l+r)/2;
    build(idx*2, l, mid);
    build(idx*2+1, mid+1, r);
    seg[idx] = Secret(seg[idx*2], seg[idx*2+1]);
}

int quer(int idx, int l, int r, int x, int y) {
    if (x <= l && r <= y) {
        return seg[idx];
    }
    int mid = (l+r)/2;
    int v = -1;
    if (!(x > mid || y < l)) v = quer(idx*2, l, mid, x, y);
    if (!(x > r || y < mid+1)) {
        if (v == -1) {
            v = quer(idx*2+1, mid+1, r, x, y);
        } else {
            v = Secret(v, quer(idx*2+1, mid+1, r, x, y));
        }
    }
    return v;
}

int Query(int L, int R) {
    return quer(1, 1, n, L+1, R+1);
}

void Init(int N, int A[]){
    ios_base::sync_with_stdio(0);
    cin.tie(0);

    n = N;
    for (int i = 1; i <= N; i++) val[i] = A[i-1];
    build(1, 1, N);
    for (int i = 1; i <= 16; i++) cout << seg[i] << " ";
    cout << endl;
}   
#Verdict Execution timeMemoryGrader output
Fetching results...