Хаймарс-2
Limits: 3 sec., 256 MiB
У корені (вершині 1) зваженого дерева з n вершин знаходитьcя Хаймарс з радіусом пострілу r. Якщо Хаймарс знаходиться у вершині u, то він може атакувати вершину v, якщо відстань від вершини u до вершини v не більше r. У деяких вершинах (не у корені) дерева знаходиться русня. Вершини, у яких є або була русня, заміновані і заїжджати в них заборонено. Хаймарс може вільно проїжджати по ребрах між вершинами, які не заміновані. Потрібно знайти множину вершин мінімального розміру, стріляючи з яких можна знищити всю русню, та у всі ці вершини може заїхати Хаймарс.
Input
У першому рядку задано два цілих числа — n та r.
У наступному рядку задано задано n цілих чисел ai — ai рівне 1, якщо у вершині i знаходиться русня, або 0 у іншому разі.
У кожному з наступних n−1 рядків задано по три цілих числа, які описують ребра дерева: ui, vi та li — номери вершин, які з’єднує i-те ребро дерева та його довжина.
Output
Виведіть одне ціле число — мінімальний розмір множини вершин, стріляючи з яких можна знищити всю русню.
Якщо без розмінування вершин всю русню знищити не вдасться, виведіть
Demining is required.
.
Constraints
1≤n≤5⋅105,
1≤ui,vi≤n, ui≠vi,
1≤li≤r≤109,
0≤ai≤1,
a1=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. |