제출 #48652

#제출 시각아이디문제언어결과실행 시간메모리
48652PajarajaSecret (JOI14_secret)C++17
0 / 100
3696 ms524288 KiB
#include "secret.h"
#include <bits/stdc++.h>
#define MAXN 1007
using namespace std;
int val[MAXN][MAXN],a[MAXN],n;
void rek(int l,int r)
{
	int s=(l+r)/2;
	val[s][s]=a[s];
	for(int i=s-1;i>=l;i--) val[i][s]=Secret(a[i],val[i+1][s]);
	val[s+1][s+1]=a[s+1];
	for(int i=s+1;i<=r;i++) val[s+1][i]=Secret(val[s+1][i-1],a[i]);
	rek(l,s);
	rek(s+1,r);
}
void Init(int N, int A[]) 
{
	n=N;
	for(int i=0;i<n;i++) a[i]=A[i];
	rek(0,n-1);
}

int ans(int l,int r,int lt,int rt)
{
	int s=(l+r)/2;
	if(lt<=s && rt>s) return Secret(val[lt][s],val[s+1][rt]);
	if(rt<=s) return ans(l,s,lt,rt);
	return ans(s+1,r,lt,rt);
}
int Query(int L, int R)  {return ans(0,n-1,L,R);}
#Verdict Execution timeMemoryGrader output
Fetching results...