Submission #1128886

#TimeUsernameProblemLanguageResultExecution timeMemory
1128886NurislamSecret (JOI14_secret)C++17
30 / 100
452 ms4428 KiB
#include <bits/stdc++.h>
#include "secret.h"

int lc[10][1001];
void Init(int n, int a[]) {
	for(int i = 1; i <= n; i++){
		lc[0][i] = a[i-1];
	}
	for(int i = 1; i < 10; i++){
		int len = (1<<i), hal = (1<<(i-1));
		for(int j = 1; j+len-1 <= n; j++){
			lc[i][j] = Secret(lc[i-1][j], lc[i-1][j+hal]);
		}
	}
}

int Query(int l, int r) {
	l++;r++;
	int ans = INT_MIN;
	for(int i = 9; i >= 0; i--){
		int len = (1<<i);
		if(l + len-1 <= r){
			if(ans == INT_MIN)ans = lc[i][l];
			else{
				ans = Secret(ans, lc[i][l]);
			}
			l+=len;
		}
	}
	return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...