20 lines
546 B
Python
20 lines
546 B
Python
import sys
|
|
input = sys.stdin.readline
|
|
|
|
N = int(input())
|
|
seq = [0] + list(map(int, input().split()))
|
|
|
|
dp = [[0]*(N+1) for _ in range(N+1)]
|
|
for i in range(1,N+1) :
|
|
dp[i][i] = 1
|
|
if i != N and seq[i] == seq[i+1] :
|
|
dp[i][i+1] = 1
|
|
|
|
for l in range(3,N+1) :
|
|
for start in range(1, N - l + 2) :
|
|
end = start + l - 1
|
|
if seq[start] == seq[end] and dp[start+1][end-1]:
|
|
dp[start][end] = 1
|
|
|
|
M = int(input())
|
|
print('\n'.join(list((lambda x: str(dp[x[0]][x[1]]))(list(map(int, input().split()))) for _ in range(M)))) |