Submission #1271752

#TimeUsernameProblemLanguageResultExecution timeMemory
1271752orzorzorzSecret (JOI14_secret)C++20
0 / 100
338 ms4452 KiB
#include "secret.h"
#include<bits/stdc++.h>
using namespace std;

const int mxN=1e3;

int n;
int c[mxN];
int g[mxN][20];

void dc(int l, int r, int k) {
  if(l==r) return;
  int mid=(l+r)/2;
  g[mid][k]=c[mid];
  for(int i=mid-1; i>=l; i--) {
    g[i][k]=Secret(c[i], g[i+1][k]);
  }
  g[mid+1][k]=c[mid+1];
  for(int i=mid+2; i<=r; i++) {
    g[i][k]=Secret(c[i], g[i-1][k]);
  }
  dc(l, mid, k+1);
  dc(mid+1, r, k+1);
}

void Init(int N, int A[]) {
  n=N;
  for(int i=0; i<N; i++) c[i]=A[i];
  dc(0, n-1, 0);
}

int qry(int k, int l, int r, int L, int R) {
  int mid=(L+R)/2;
  if(l<=mid&&mid<r) {//
    return Secret(g[l][k], g[r][k]);
  }
  if(r<=mid) return qry(k+1, l, r, L, mid);
  if(l>mid) return qry(k+1, l, r, mid+1, R);
}

int Query(int L, int R) {
  if(L==R) return c[L];
  return qry(0, L, R, 0, n-1);
}

Compilation message (stderr)

secret.cpp: In function 'int qry(int, int, int, int, int)':
secret.cpp:39:1: warning: control reaches end of non-void function [-Wreturn-type]
   39 | }
      | ^
#Verdict Execution timeMemoryGrader output
Fetching results...