만드는 중입니다

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

아파트 단지

면접 대비

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

요약
정렬된 아파트 위치를 연속된 M개 이상의 묶음으로 나누어, 각 묶음의 거리가 X 이하가 되는 배치가 있는지 질의마다 판별합니다.
난이도

보통10점 중 5점

유형
이분 탐색, 동적 계획법, 누적 합
정답자
아직 제출이 없습니다

문제

설곽국에서 가장 긴 직선 도로인 예지로 주변에는 NN개의 아파트가 있습니다. 각 아파트는 위치 순서대로 1동부터 NN동까지 번호가 붙어 있으며, ii동은 도로 시작점에서 AiA_i만큼 떨어져 있습니다.

아파트가 늘어나면서 관리를 편하게 하려고 아파트 단지를 만듭니다. 모든 아파트는 정확히 하나의 아파트 단지에 속해야 하고, 한 아파트 단지는 MM개 이상의 연속된 번호를 가진 아파트로 이루어져야 합니다. 아파트 단지가 LL동부터 RR동까지의 아파트로 이루어지면, 그 단지의 크기는 양끝 아파트 사이의 거리인 AR−ALA_R - A_L로 정의합니다.

주민들은 단지 안에서 운동이나 교류를 하기 위해 모든 아파트 단지의 크기를 XiX_i 이하로 제한해 달라고 요청했습니다. 그 결과 QQ개의 요청이 모였습니다. 각 요청이 실현 가능한지 판별하는 프로그램을 작성하세요.

입력

첫 줄에 정수 NN, MM, QQ가 공백으로 구분되어 주어집니다.

둘째 줄에는 각 아파트의 위치를 나타내는 정수 A1,A2,⋯ ,ANA_1, A_2, \cdots, A_N이 공백으로 구분되어 주어집니다.

셋째 줄에는 요청 정보를 나타내는 정수 X1,X2,⋯ ,XQX_1, X_2, \cdots, X_Q가 공백으로 구분되어 주어집니다.

출력

길이 QQ의 문자열을 출력합니다. ii번째 문자는 ii번째 요청을 만족하는 아파트 단지 구성이 존재하면 '1', 그렇지 않으면 '0'입니다.

제한

  • 1≤N≤3×1051 \le N \le 3 \times 10^5
  • 1≤M≤N1 \le M \le N
  • 1≤Q≤3×1051 \le Q \le 3 \times 10^5
  • 1≤Ai≤1091 \le A_i \le 10^9 (1≤i≤N1 \le i \le N)
  • Ai<Ai+1A_i < A_{i+1} (1≤i<N1 \le i < N)
  • 0≤Xi≤1090 \le X_i \le 10^9 (1≤i≤Q1 \le i \le Q)

예제2

  1. 예제 1

    입력
    5 2 2
    1 2 6 8 9
    2 3
    
    예상 출력
    01
    
  2. 예제 2

    입력
    3 1 4
    1 3 5
    0 1 2 3
    
    예상 출력
    1111