Козак Вус та дерево#11075

Козак Вус та дерево

2 секунди
512 мегабайтів
Середня

Козак Вус побачив дерево, коли повертався додому із залізничної дороги та придумав задачу.

Задане дерево на вершинах, кожне ребро якого має певну вагу. Спочатку всі його вершини білі. Назвемо ребро яскравим, якщо воно з'єднує дві білі вершини. Дайте відповідь на запитів:

Допоможіть Козаку Вусу розв'язати цю задачу.

Вхідні дані

Перший рядок містить три цілі числа , та (1 \leq n \leq 3\,000, 1 \leq m \leq 2 \cdot 10^5, 0 \leq g \leq 6) — кількість вершин, кількість запитів та номер блока.

Кожен з наступних n-1 рядків містить по три цілі числа u_i, v_i, c_i (1 \leq v_i, u_i \leq n, 1 \leq c_i \leq 10^5) — вершини, які з'єднує ребро, і його вага.

Четвертий рядок містить цілих чисел k_1, k_2, \dots, k_m (0 \leq k_i \leq 10^9).

Вихідні дані

Виведіть цілих чисел x_1, x_2, \dots, x_m, де x_i — відповідь на -й запит.

Приклади

Приклад 1

Loading
Loading

Приклад 2

Loading
Loading

Приклад 3

Loading
Loading

Примітка

У першому прикладі якщо k_i \geq 5, то можемо залишити всі вершини білими, тоді всі ребра яскраві і сума їхніх ваг рівна . Для k_i \leq 4 можемо пофарбувати вершину номер у чорний колір, тоді яскравих ребер не буде, а отже сума ваг рівна . В обох цих випадках сума ваг яскравих ребер не перевищує k_i і перефарбовано мінімальну кількість вершин.

Оцінювання

  1. ( балів): m=1; гарантується, що відповідь не перевищує .

  2. ( балів): m=1; гарантується, що відповідь не перевищує .

  3. ( балів): u_i = v_i - 1; n \leq 200.

  4. ( балів): m=1; n \leq 10;

  5. ( бал): n \leq 200;

  6. ( бали): без додаткових обмежень.