만드는 중입니다

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

조각화

면접 대비

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

요약
각 질의 구간에 있는 기계 특성값의 곱이 실험실 수 k로 나누어떨어지는지 판정합니다.
난이도

보통10점 중 6점

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

문제

얼마 전 메소시데라이트라는 희귀한 운석이 Tomorrow Programming School 부지에 떨어져 곧바로 수거되었다. 학교는 이 운석을 작은 조각으로 자르는 작업을 맡았고, 잘린 조각은 전 세계 연구소로 수출된다. 스위스 정밀 절단 대행사(SPCA)가 절단 작업을 맡았다.

SPCA는 여러 대의 절단기를 운용한다. 각 기계는 운석 또는 운석의 조각을 무게가 정확히 같은 작은 조각 여러 개로 자른다. 이 개수는 기계의 특성값이며 바꿀 수 없다. 각 기계는 하루에 몇 개의 조각이든 처리할 수 있다. 어떤 기계로 자른 조각은 교차 오염과 정밀도 저하를 막기 위해, 같은 날 같은 기계로 다시 자를 수 없다.

하루에 사용할 수 있는 절단기는 한 대뿐이다. 연속된 날의 기계 순서는 고정되어 있다. SPCA는 절단 일정표를 만들었다. 앞으로의 각 날짜에 그날 사용할 기계의 특성값을 적은 목록이다. 절단 공정은 만족스러운 수의 조각을 얻을 때까지 하루 이상 걸린다.

다음 규칙이 적용된다.

  • 모든 연구소는 같은 총무게의 조각을 받아야 한다.
  • 조각을 연구소끼리 나눌 수 없다.
  • 모든 조각은 어느 연구소로 가야 한다. 남는 조각은 없어야 한다.
  • 매일 공정이 끝날 때 모든 조각의 무게가 같아야 한다.
  • 전체 공정은 연속된 날 안에 끝나야 하며, 중간에 절단하지 않는 날이 있으면 안 된다.

학교는 일정표를 받아 절단을 언제 시작할지 정한다. 절단 기간은 일정표에서 연속된 날들의 어떤 구간이든 될 수 있다. 절단 기간의 첫날부터 공정을 시작했을 때, 마지막 날이 끝난 시점에 연구소들의 요구를 만족하는 조각이 나오면 그 기간은 유리하다.

주어진 절단 기간이 유리한지 판별하는 프로그램을 작성하라.

입력

첫째 줄에 절단 일정의 날짜 수 NN(1≤N≤1051 \le N \le 10^5)이 주어진다. 다음 줄에는 절단 일정을 정수 수열 a1,a2,…,aNa_1, a_2, \ldots, a_N(1≤ai≤1061 \le a_i \le 10^6)으로 준다. aia_i는 ii일째에 사용할 수 있는 기계의 특성값이다. 다음 줄에는 질의 수 QQ(1≤Q≤1051 \le Q \le 10^5)가 주어진다. 이어지는 QQ개의 줄에는 세 정수 sis_i, tit_i, kk(1≤si≤ti≤N1 \le s_i \le t_i \le N, 1≤k≤1061 \le k \le 10^6)가 주어진다. sis_i는 절단 기간의 첫날, tit_i는 마지막 날, kk는 참여하는 연구소 수다.

출력

각 질의마다 절단 기간이 유리하면 Yes, 그렇지 않으면 No를 한 줄에 출력한다.

예제1

  1. 예제 1

    입력
    8
    2 3 6 12 4 8 16 4
    8
    2 4 72
    1 8 7
    1 4 16
    1 4 32
    4 4 6
    5 5 4
    2 5 864
    2 5 1296
    
    예상 출력
    Yes
    No
    Yes
    No
    Yes
    Yes
    Yes
    No