Submission #1056270

#TimeUsernameProblemLanguageResultExecution timeMemory
1056270Minbaev비밀 (JOI14_secret)C++17
0 / 100
315 ms4712 KiB
#include "secret.h"
#include <bits/stdc++.h>

using namespace std;

const int Y = 1e5;
const int inf = 1e9 + 7;

int t[Y], a[Y], n;

void build(int tl, int tr, int v){
	if(tl == tr){
		t[v] = a[tl];
		return;
	}
	int tm = (tl+tr)/2;
	
	build(tl,tm,v*2);
	build(tm+1,tr,v*2+1);
	t[v] = Secret(t[v*2], t[v*2+1]);
}
 
int get(int tl, int tr, int v, int l, int r){
	if(l <= tl && tr <= r){
		return t[v];
	}
	int tm = (tl+tr)/2;
	
	int val = inf;
	if(!(r < tm+1 || tr < l)){
		val = get(tm+1,tr,v*2+1,l,r);
	}
	int val2 = inf;
	if(!(r < tl || tm < l)){
		val2 = get(tl,tm,v*2,l,r);
	}
	
	if(val != inf && val2 != inf){
		return Secret(val, val2);
	}
	else if(val != inf)return val;
	else if(val2 != inf)return val2;
}

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

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

Compilation message (stderr)

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