import sys
input = sys.stdin.readline
N = int(input())
arr = list(map(int,input().split()))
dp = [[ True if i == j else False for j in range (N)] for i in range(N)]
for i in range(N-1):
if arr[i] == arr[i+1]:
dp[i][i+1] = True
for i in range(2,N):
for j in range(N-i):
if arr[j] == arr[j+i] and dp[j+1][j+i-1]:
dp[j][j+i] = True
M = int(input())
for _ in range(M):
x,y = map(int,input().split())
if dp[x-1][y-1]:
sys.stdout.write('1\n')
else:
sys.stdout.write('0\n')
'알고리즘 > 백준_복기_미완료' 카테고리의 다른 글
[BOJ/백준] 11055 가장 큰 증가 부분 수열 (0) | 2021.05.04 |
---|---|
[BOJ/백준] 11501 주식 (0) | 2021.05.04 |
[BOJ/백준] 10844 쉬운 계단 수 (0) | 2021.05.04 |
[BOJ/백준] 10171 고양이 (0) | 2021.05.04 |
[BOJ/백준] 9421 소수 상근수 (0) | 2021.05.04 |