Хаймарс-2
Limits: 3 sec., 256 MiB
У корені (вершині 1) зваженого дерева з nn вершин знаходитьcя Хаймарс з радіусом пострілу rr. Якщо Хаймарс знаходиться у вершині uu, то він може атакувати вершину vv, якщо відстань від вершини uu до вершини vv не більше rr. У деяких вершинах (не у корені) дерева знаходиться русня. Вершини, у яких є або була русня, заміновані і заїжджати в них заборонено. Хаймарс може вільно проїжджати по ребрах між вершинами, які не заміновані. Потрібно знайти множину вершин мінімального розміру, стріляючи з яких можна знищити всю русню, та у всі ці вершини може заїхати Хаймарс.
Input
У першому рядку задано два цілих числа — nn та rr.
У наступному рядку задано задано nn цілих чисел aiai — aiai рівне 1, якщо у вершині ii знаходиться русня, або 0 у іншому разі.
У кожному з наступних n−1n−1 рядків задано по три цілих числа, які описують ребра дерева: uiui, vivi та lili — номери вершин, які з’єднує ii-те ребро дерева та його довжина.
Output
Виведіть одне ціле число — мінімальний розмір множини вершин, стріляючи з яких можна знищити всю русню.
Якщо без розмінування вершин всю русню знищити не вдасться, виведіть
Demining is required.
.
Constraints
1≤n≤5⋅1051≤n≤5⋅105,
1≤ui,vi≤n1≤ui,vi≤n, ui≠viui≠vi,
1≤li≤r≤1091≤li≤r≤109,
0≤ai≤10≤ai≤1,
a1=0a1=0.
Samples
Input (stdin) | Output (stdout) |
---|---|
4 10 0 1 0 1 1 2 5 1 3 5 3 4 10 | 1 |
Input (stdin) | Output (stdout) |
---|---|
5 10 0 1 1 0 1 1 2 1 2 3 5 2 4 5 4 5 10 | Demining is required. |