마음대로 움직이기

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

요약
각 질의에서 시작점 P와 T초 동안 좌우로 1미터씩 움직이며 K개의 장애물을 피할 때 도달 가능한 위치의 가짓수를 구한다.
난이도

어려움10점 중 8점

유형
조합론, 수학, 누적 합
정답자
아직 제출이 없습니다

문제

Huynh은 무한한 길이의 수직선 위에 서있다. 수직선에는 KK개의 장애물이 있다. ii 번째 장애물은 수직선의 원점으로부터 A_iA\_i 미터 오른쪽에 있다. 모든 장애물의 위치는 다르다.

Huynh은 다음과 같은 질문을 해결하려 한다.

Huynh은 현재 수직선의 원점으로부터 PP미터 오른쪽에 서 있다. 이후 Huynh은 TT초간 매 초 1번씩, 오른쪽으로 1미터 움직이거나 왼쪽으로 1미터씩 움직이려 한다. 단, 장애물이 있는 위치로는 이동할 수 없다. TT초 뒤, Huynh이 있을 수 있는 위치의 가짓수를 구하여라.

서로 다른 T,PT, P 값들에 대한 질문이 여럿 주어졌을 때, 모든 질문을 해결하라.

입력

첫번째 줄에, 수직선에 있는 장애물의 개수 KK가 주어진다.

두번째 줄에, 수직선에 있는 각 장애물의 위치 A_1,⋯ ,A_KA\_1, \cdots, A\_K가 공백을 사이에 두고 주어진다.

세번째 줄에, 질문의 개수 QQ가 주어진다.

이후 QQ개의 줄에, 각 질문에서의 TT와 PP의 값이 공백을 사이에 두고 주어진다.

출력

QQ개의 줄에 걸쳐 출력한다. ii (1≤i≤Q1 \le i \le Q)번째 줄에는 ii번째 질문의 답을 출력한다.

제한

  • 0≤K≤100,0000 \le K \le 100\\,000
  • −1,000,000,000≤A_i≤1,000,000,000-1\\,000\\,000\\,000 \le A\_i \le 1\\,000\\,000\\,000 (1≤i≤K1 \le i \le K)
  • 장애물의 위치는 오름차순으로 주어지며, 서로 다른 장애물은 최소 3미터의 거리를 두고 있다. (모든 1≤i≤K−11 \le i \le K-1에 대해 A_i+3≤A_i+1A\_i + 3 \le A\_{i+1})
  • 1≤Q≤100,0001 \le Q \le 100\\,000
  • 1≤T≤1,000,000,0001 \le T \le 1\\,000\\,000\\,000, −1,000,000,000≤P≤1,000,000,000-1\\,000\\,000\\,000 \le P \le 1\\,000\\,000\\,000
  • 위치 PP에는 장애물이 없다. (모든 1≤i≤K1 \le i \le K에 대해, A_i≠PA\_i \neq P)

예제1

  1. 예제 1

    입력
    4
    -10 4 7 15
    5
    2 0
    4 5
    3 17
    10 10
    10 100
    
    예상 출력
    3
    1
    3
    4
    11