#L0031. 公园漫步

公园漫步

题目描述

公园里有 nn 个景点,编号为 1n1 \sim n,景点之间由 n1n - 1 条小路相连,任意两个景点之间都可以通过这些小路互相到达,且只有一条路径。也就是说,公园的道路结构是一棵树。11 号景点是公园的入口。

每个景点可能有猫(用 11 表示)或没有猫(用 00 表示)。

小杨从入口出发,沿着小路一直向前走(不回头),直到走到一个没有其他路可走的景点为止,这样的景点称为「终点」。

如果在前往某个终点的路上,连续经过的有猫的景点数量超过了 mm 个,小杨就会被猫吓跑,这个终点就是「不安全的」。

请你帮小杨计算:有多少个终点是「安全的」?

输入格式

输入共 n+1n + 1 行。

第一行为两个整数 n,mn, m

第二行为 nn 个整数 a1,a2,,ana_1, a_2, \ldots, a_naia_i11 表示景点 ii 有猫,为 00 表示没有猫。

接下来 n1n - 1 行,每行两个整数 u,vu, v,表示景点 uu 与景点 vv 之间有一条小路。

输出格式

输出一个整数,表示安全终点的数量。

样例

4 1
1 1 0 1
1 2
1 3
2 4
1
7 1
1 0 1 1 0 0 0
1 2
1 3
2 4
2 5
3 6
3 7
2

样例解释

样例 1 中,终点只有景点 33 和景点 44。到景点 33 的路径为 131 \to 3,连续有猫的景点数为 11,不超过 m=1m = 1,安全;到景点 44 的路径为 1241 \to 2 \to 4,连续有猫的景点数为 33,超过 11,不安全。故答案为 11

样例 2 中,终点有景点 4,5,6,74, 5, 6, 7。到景点 44 的路径 1241 \to 2 \to 4 连续有猫数为 11(安全);到景点 55 的路径 1251 \to 2 \to 5 连续有猫数为 11(安全);到景点 66 的路径 1361 \to 3 \to 6 连续有猫数为 22(不安全);到景点 77 同样不安全。故答案为 22

数据范围与约定

子任务 分值 限制
11 77 树是一条链,且入口在链的一端
22 88 所有结点都没有猫
33 1010 无特殊限制

对于 100%100\% 的数据,保证 2n1052 \leq n \leq 10^51mn1 \leq m \leq nai{0,1}a_i \in \{0, 1\}1u,vn1 \leq u, v \leq n