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 |