만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

함의 탐험

면접 대비

시간 제한4초메모리 제한1024 MB

요약
0과 1로 이루어진 배열에서 각 질의 구간 l부터 r까지의 함의 값을 왼쪽에서부터 차례로 계산합니다.
난이도

보통10점 중 4점

유형
배열, 수학, 구현
정답자
아직 제출이 없습니다

문제

John은 인공지능을 연구하는 연구자이다. 그는 새로운 Limitless Logic Machine의 추론 능력을 분석하려고 하며, 한 명제가 다른 명제를 함의할 때 기계가 이를 얼마나 잘 이해하는지 확인하고자 한다.

실험에는 0과 1로 이루어진 길이 nn의 긴 배열 aa가 쓰인다. 각 질의는 ll, rr의 쌍으로 주어지며, 기계는 부분 배열 al→al+1→⋯→ara_l \to a_{l+1} \to \cdots \to a_r의 함의 값을 계산해야 한다. John이 기계를 검증할 수 있도록 이 질의들의 정답을 계산하라.

함의 연산자 →\to는 다음과 같이 정의된다.

xxyyx→yx \to y
000011
001111
110000
111111

연산은 왼쪽에서 오른쪽 순서로 계산한다. 따라서 순서는 ((…((al→al+1)→al+2)→… )→ar)((\dots((a_l \to a_{l+1}) \to a_{l+2}) \to \dots) \to a_r)이다.

입력

첫째 줄에 배열의 크기 nn (2≤n≤1052 \leq n \leq 10^5)이 주어진다.

둘째 줄에는 배열의 원소 aa (a∈{0,1}a \in \{0, 1\})가 nn개 주어진다.

셋째 줄에는 질의의 개수 qq (1≤q≤1051 \leq q \leq 10^5)가 주어진다.

이어서 qq개의 줄에 질의를 나타내는 두 정수 ll, rr (1≤l<r≤n1 \leq l < r \leq n)이 주어진다.

출력

각 질의에 대해 해당 함의 연산의 결과를 한 줄에 하나씩 출력한다.

예제2

  1. 예제 1

    입력
    5
    0 0 1 1 0
    5
    1 2
    2 3
    4 5
    3 4
    1 5
    
    예상 출력
    1
    1
    0
    1
    0
    
  2. 예제 2

    입력
    7
    1 0 0 0 1 0 0
    5
    1 3
    4 7
    2 4
    3 6
    1 7
    
    예상 출력
    1
    1
    0
    0
    1