아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

겨울 숲과 마법 불꽃

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

요약
루트 마을에서 가장 먼 마을까지의 거리를 간선 길이가 1 아래로 내려가지 않는 조건에서 마법 예산 B 안에서 최대한 줄인 값을 질의마다 구합니다.
난이도

어려움10점 중 8점

유형
트리, 그리디, 정렬
정답자
아직 제출이 없습니다

문제

겨울 숲의 NN개 마을은 N−1N - 1개의 무방향 도로로 연결되어 있다. 모든 도로의 길이는 양의 정수이며, 도로망은 트리 구조를 이루고 있다.

첫 번째 마을에는 마법의 불꽃이 있고, 겨울 숲 사람들은 이 불꽃의 온기로 살아간다. 불꽃이 있는 마을에서 다른 마을까지의 거리는 그 마을까지 가는 경로에 있는 도로 길이의 합이다.

가장 강한 마법사이기도 한 숲의 왕은 마법을 써서 도로의 길이를 줄일 수 있다. 도로마다 양의 정수 KK만큼 마법력을 소모하면 그 도로의 길이를 KK만큼 줄일 수 있다. 다만 마법력을 아무리 많이 써도 도로의 길이를 11 미만으로 줄일 수는 없다.

왕은 불꽃이 있는 마을에서 가장 먼 마을까지의 거리를 최대한 줄이고 싶어 한다. 마법력을 최대 BB 사용한다면 이 거리를 어디까지 줄일 수 있는가?

입력

첫 번째 줄에 마을의 수 NN (2≤N≤200,0002 \leq N \leq 200,000)이 주어진다.

다음 N−1N - 1개의 줄에 각 도로의 양끝 마을 번호 AjA_{j}, BjB_{j} (1≤Aj,Bj≤N1 \leq A_{j}, B_{j} \leq N, Aj≠BjA_{j} \neq B_{j})와 도로의 길이 WjW_{j} (1≤Wj≤1091 \leq W_{j} \leq 10^{9})가 주어진다.

다음 줄에 마법력 쿼리의 개수 QQ (1≤Q≤200,0001 \leq Q \leq 200,000)가 주어진다.

다음 QQ개의 줄에 각 쿼리의 마법력 BiB_{i} (0≤Bi≤2×10140 \leq B_{i} \leq 2 \times 10^{14})가 주어진다.

출력

각 쿼리마다, 주어진 마법력을 사용할 수 있을 때 불꽃이 있는 마을과 가장 먼 마을 사이 거리의 최솟값을 한 줄에 하나씩 출력한다.

예제1

  1. 예제 1

    입력
    8
    1 2 7
    2 5 3
    1 3 3
    3 6 2
    6 8 4
    3 7 8
    1 4 12
    3
    1
    40
    6
    
    예상 출력
    11
    3
    9