Antifreeze

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

요약
가중치 트리에서 일부 교실에만 난방이 켜져 있고 온도 T가 거리에 따라 줄다가 난방 교실에서 회복될 때, 두 난방 교실 사이를 얼지 않고 오갈 수 있는지 묻는 질의에 답한다.
난이도

어려움10점 중 8점

유형
트리, 그래프, 유니온 파인드, BFS
정답자
아직 제출이 없습니다

문제

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

경기과학고의 본관은 NN개의 교실을 N−1N-1개의 복도가 연결한 트리 구조이다. 교실 U_iU\_i와 교실 V_iV\_i 사이에는 거리 W_i mW\_i\ \text{m}인 복도가 존재한다. (1≤i≤N−1)(1 \leq i \leq N-1) 원래대로라면 모든 교실의 난방 기구가 작동하는 것이 당연하지만, 경기과학고는 일부 교실만 난방 기구가 작동한다! (이거 진짜예요!!) A_iA\_i가 00이면 ii번 교실의 난방 기구가 작동하지 않고, 11이면 ii번 교실의 난방 기구가 작동한다. (1≤i≤N)(1 \leq i \leq N) 난방 기구가 작동하는 교실은 2개 이상 존재한다.

당신은 난방 기구가 존재하는 교실에서 시작하여 다른 난방 기구가 존재하는 교실까지 가려고 한다. 당신은 초기에 온도가 TT이고. 당신의 온도는 11초에 11씩 감소한다. 당신의 속도는 1 m/s1\ \text{m/s}이고, 이동한 거리만큼 온도가 내려간다고 생각해도 된다. 온도가 음수가 되면 당신은 얼어붙어서 사망하게 된다. 난방 기구가 있는 교실에 도달하면 온도가 다시 TT가 된다. 온도가 정확히 00인 시점에 난방 기구가 있는 교실에 도달하는 것도 허용된다.

당신은 다음과 같은 질문에 QQ번 답해야 한다. i(1≤i≤Q)i(1\leq i\leq Q)번째 질문은 다음과 같다: 교실 X_iX\_i부터 교실 Y_iY\_i까지 얼어붙지 않고 도달할 수 있는가? 교실 X_iX\_i와 Y_iY\_i는 모두 난방 기구가 작동하는 교실 중 하나이다.

입력

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

두 번째 줄에 NN개의 수 A_i(1≤i≤N)A\_i (1 \leq i \leq N)이 공백으로 구분되어 주어진다. A_iA\_i는 00 또는 11이다.

이후 N−1N-1개의 줄에 걸쳐 그중 i(1≤i≤N−1)i (1 \leq i \leq N-1)번째 줄에 복도에 대한 정보 U_i,V_i,W_iU\_i, V\_i, W\_i가 공백으로 구분되어 주어진다.

다음 줄에 답해야 하는 질문의 개수 QQ가 주어진다.

이후 QQ개의 줄에 걸쳐 그중 i(1≤i≤Q)i (1 \leq i \leq Q)번째 줄에 ii번째 질문에 대한 정보 X_i,Y_iX\_i, Y\_i가 공백으로 구분되어 주어진다.

출력

QQ개의 줄을 출력한다.

i(1≤i≤Q)i (1 \leq i \leq Q)번째 줄에는 ii번째 질문의 답이 "가능하다" 이면 11을 출력하고, "불가능하다"이면 00을 출력한다.

제한

  • 2≤N≤100,0002\leq N \leq 100,000
  • 1≤T≤1091\leq T \leq 10^9
  • A_i∈0,1 (1≤i≤N)A\_i \in \\{ 0,1 \\} \ (1\leq i \leq N), 난방 기구가 작동하는 교실이 2개 이상 존재한다.
  • 1≤U_i,V_i≤N,U_i≠V_i (1≤i≤N−1)1 \leq U\_i, V\_i \leq N , U\_i\neq V\_i\ (1\leq i \leq N-1)
  • 주어지는 경기과학고 본관을 나타내는 그래프는 트리 구조이다.
  • 1≤W_i≤109 (1≤i≤N)1\leq W\_i \leq 10^9\ (1\leq i \leq N)
  • 어떤 두 교실 사이의 거리도 109 m10^9\ \text{m}를 넘지 않는다.
  • 1≤Q≤100,0001\leq Q \leq 100,000
  • 1≤X_i,Y_i≤N,X_i≠Y_i,A_X_i=A_Y_i=1 (1≤i≤Q)1 \leq X\_i,Y\_i \leq N , X\_i \neq Y\_i, A\_{X\_i}=A\_{Y\_i}=1 \ (1\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