정화조

아직 제출이 없습니다시간 제한3초메모리 제한512 MB

문제

경곽에는 아주 거대한 정화조 시설이 있다. 정화조의 구조는 다음과 같다. 먼저 원천(source)에서 여러 개의 펌프를 이용해서 물을 퍼 올린다. 물은 수도관을 따라 여러 정화조 시설을 거치게 된다. 수도관은 한 정화조와 다른 정화조를 이어주는 역할을 한다. 수도관은 트리 형태의 간선 구조를 가지고 있다. 다시 말하면 수도관을 따라 물이 이동할 때 한 정화조를 두 번 이상 지나지 않으며, 펌프에서 퍼 나른 물들은 모두 최종적으로 한 정화조로 모이는 구조를 지니고 있다. 위 그림에서 동그라미는 정화조를, 화살표는 수도관을 나타낸 것이다. 펌프에서 퍼 올린 물은 최초로 트리의 리프에 존재하는 정화조로 이동한다. (여기서 리프란 자기에게로 향하는 수도관이 없는 정화조를 의미한다.)

물은 수질에 따라 여러 등급으로 분류할 수 있다. 가장 깨끗한 물은 0등급이고, 1등급, 2등급, 3등급, \ldots 순으로 물이 더러워진다. 처음에 원천에서의 물은 0등급이다. 물이 수도관을 따라 한 정화조에서 다른 정화조로 이동할 때마다 물은 오염되고 수질은 한 등급 오른다. 정화조에 처음 도착한 물의 수질도 1등급이라고 본다.

물이 정화조를 지날 때, 정화조는 이 물을 정화할 수도 있고, 그대로 흘려보낼 수도 있다. 정화조에는 고유 비용 c_ic\_i가 존재한다. 정화조에서 물을 정화할 경우, c_ic\_i × (정화할 물의 수질 등급) 만큼의 비용이 소모되며, 물은 0등급으로 정화된다. 만약 물을 정화하지 않을 경우, 아무 비용도 지출하지 않으며 물의 수질도 변하지 않는다.

정화조의 효율적인 운영을 위해 각 정화조마다 두 수 l_il\_i, r_ir\_i (l_ir_il\_i \leq r\_i) 가 주어진다. 이는 ii번째 정화조는 l_il\_i 이상 r_ir\_i 이하 등급의 수질을 갖는 물만 정화할 수 있다는 의미이다.

경곽은 막대한 정화조 공사를 위해 일시적으로 정화조의 운영을 중단하려고 한다. 정화조의 운영을 중단한다는 것은 물이 그 정화조를 지나갈 수 없도록 만든다는 것이다. 다만 경곽으로의 물 공급이 끊기면 안 되기 때문에, 몇 가지 정화조는 그대로 운영하려고 한다. 경곽에겐 쿼리가 주어진다. 각 쿼리에는 정화조 번호 XX와 수질 KK가 주어진다. 경곽은 원천과 정화조 XX를 잇는 한 경로를 제외하고 나머지 정화조는 모두 중단하려고 한다. 이때, XX에서 KK등급 이하의 물을 얻으려면 최소 몇의 비용을 필요로 하는지 구해야 한다.

경곽의 문제를 같이 해결해 주자. 쿼리는 다른 쿼리와 서로 독립적이다. 즉, 한 쿼리에서 중단시킨 정화조가 다음 쿼리에서도 무조건 중단되는 것은 아니다.

입력

첫 번째 줄에 정화조의 개수 NN이 주어진다.

두 번째 줄에 NN개의 정수 c_1,c_2,,c_Nc\_1, c\_2, \ldots, c\_N이 주어진다. c_i(1iN)c\_i (1 \leq i \leq N)ii번째 정화조의 고유 비용을 의미한다.

다음 NN개의 줄에 걸쳐 수도관이 정화할 수 있는 수질 등급의 범위 l_i,r_il\_i, r\_i가 주어진다. (l_ir_i)(l\_i \leq r\_i)

다음 N1N - 1개의 줄에 걸쳐 수도관에 대한 정보가 주어진다. 각 줄에는 u_i,v_i(1iN1)u\_i, v\_i (1 \leq i \leq N - 1)이 주어진다.

이는 u_iu\_i번째 정화조에서 v_iv\_i번째 정화조로 수도관이 이어져 있다는 것을 의미한다.

다음 줄에는 쿼리의 개수 QQ가 주어진다.

다음 QQ개의 줄에 걸쳐 각 줄에 두 정수 X_i,K_iX\_i, K\_i가 주어진다.

이는 정화조 X_iX\_i와 원천을 잇는 한 경로에서 K_iK\_i 이하의 수질 등급을 얻으려고 할 때 필요한 최소 비용을 출력하라는 의미이다.

출력

QQ개의 줄에 걸쳐 각 쿼리에 대한 답을 한 줄에 하나씩 출력한다.

만약 K_iK\_i 이하의 수질 등급의 물을 얻을 수 없다면 -1을 출력한다.

제한

  • 1N,Q250,0001\leq N,Q\leq 250,000
  • 1c_i100,000,0001\leq c\_i\leq 100,000,000 (1iN)(1\leq i\leq N)
  • 0l_ir_iN0\leq l\_i\leq r\_i\leq N (1iN)(1\leq i\leq N)
  • 1u_i,v_iN1\leq u\_i,v\_i\leq N, u_iv_iu\_i\neq v\_i (1iN1)(1\leq i\leq N-1)
  • 1X_iN1\leq X\_i\leq N (1iQ)(1\leq i\leq Q)
  • 0K_iN0\leq K\_i\leq N (1iQ)(1\leq i\leq Q)