만드는 중입니다

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

Antifreeze

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

요약
가중치가 있는 트리에서 히터가 켜진 교실 두 곳을 각 구간 길이가 T 이하인 히터 교실들의 연속으로 이을 수 있는지 판별합니다.
난이도

보통10점 중 7점

유형
트리, 유니온 파인드, 최단 경로
정답자
아직 제출이 없습니다

문제

"숨이 막힐 것 같이 차가웠던 공기 속에..."

경기과학고의 본관은 NN개의 교실을 N−1N-1개의 복도로 연결한 트리 구조이다. 교실 UiU_i와 교실 ViV_i 사이에는 길이가 Wi mW_i\ \text{m}인 복도가 있다. (1≤i≤N−11 \leq i \leq N-1) 원래라면 모든 교실의 난방 기구가 작동해야 하지만, 경기과학고는 일부 교실에서만 난방 기구가 작동한다! (이거 진짜예요!!) AiA_i가 00이면 ii번 교실의 난방 기구는 작동하지 않고, 11이면 작동한다. (1≤i≤N1 \leq i \leq N) 난방 기구가 작동하는 교실은 2개 이상 있다.

당신은 난방 기구가 작동하는 교실에서 출발해 다른 난방 기구가 작동하는 교실까지 가려고 한다. 처음 온도는 TT이고, 온도는 1초마다 1씩 떨어진다. 당신의 속력은 1 m/s1\ \text{m/s}이므로, 이동한 거리만큼 온도가 떨어진다고 생각해도 된다. 온도가 음수가 되면 얼어붙어서 사망한다. 난방 기구가 있는 교실에 도착하면 온도는 다시 TT가 된다. 온도가 정확히 00인 시점에 난방 기구가 있는 교실에 도착하는 것은 허용된다.

QQ개의 질문에 답해야 한다. ii번째 질문은 다음과 같다. 교실 XiX_i에서 출발해 교실 YiY_i까지 얼어붙지 않고 갈 수 있는가? 교실 XiX_i와 YiY_i는 모두 난방 기구가 작동하는 교실이다.

입력

첫째 줄에 교실의 개수 NN과 시작 온도 TT가 공백으로 구분되어 주어진다.

둘째 줄에 NN개의 정수 AiA_i (1≤i≤N1 \leq i \leq N)가 공백으로 구분되어 주어진다.

이후 N−1N-1개의 줄에 걸쳐 ii번째 줄에 복도 정보 UiU_i, ViV_i, WiW_i가 공백으로 구분되어 주어진다. (1≤i≤N−11 \leq i \leq N-1)

다음 줄에 질문의 개수 QQ가 주어진다.

이후 QQ개의 줄에 걸쳐 ii번째 줄에 XiX_i와 YiY_i가 공백으로 구분되어 주어진다. (1≤i≤Q1 \leq i \leq Q)

출력

QQ개의 줄을 출력한다. ii번째 줄에는 ii번째 질문에 대해 얼어붙지 않고 XiX_i에서 YiY_i까지 갈 수 있으면 11을, 갈 수 없으면 00을 출력한다.

제한

  • 2≤N≤100,0002 \leq N \leq 100{,}000
  • 1≤T≤1091 \leq T \leq 10^9
  • Ai∈{0,1}A_i \in \{0, 1\} (1≤i≤N1 \leq i \leq N). 난방 기구가 작동하는 교실은 2개 이상 있다.
  • 1≤Ui,Vi≤N1 \leq U_i, V_i \leq N, Ui≠ViU_i \neq V_i (1≤i≤N−11 \leq i \leq N-1)
  • 입력으로 주어지는 그래프는 트리 구조이다.
  • 1≤Wi≤1091 \leq W_i \leq 10^9 (1≤i≤N1 \leq i \leq N)
  • 어떤 두 교실 사이의 거리도 109 m10^9\ \text{m}를 넘지 않는다.
  • 1≤Q≤100,0001 \leq Q \leq 100{,}000
  • 1≤Xi,Yi≤N1 \leq X_i, Y_i \leq N, Xi≠YiX_i \neq Y_i, AXi=AYi=1A_{X_i} = A_{Y_i} = 1 (1≤i≤Q1 \leq i \leq Q)
  • 입력으로 주어지는 모든 수는 정수이다.

예제1

  1. 예제 1

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