公园(park)

题目描述

Kefa\text{Kefa} 想去餐厅庆祝自己的第一份工资。

他家附近有一个特殊的公园。这个公园是一棵有根树,共有 nn 个节点,根节点是 11,也是 Kefa\text{Kefa} 的家。

公园里有些节点上有猫。Kefa\text{Kefa} 很怕猫,因此如果从家到某个餐厅的路径上,出现了超过 mm 个连续有猫的节点,那么 Kefa\text{Kefa} 就不会去这个餐厅。

树中的叶子节点表示餐厅。

请你帮助 Kefa\text{Kefa} 统计:有多少个餐厅是他可以去的。

输入格式

第一行包含两个整数 n,mn,m,其中 nn 表示树的节点数量,mm 表示路径上允许出现的最多连续有猫节点数。

第二行包含 nn 个整数 a1,a2,,ana_1,a_2,\ldots,a_n

其中:

  • ai=0a_i=0 表示节点 ii 上没有猫;
  • ai=1a_i=1 表示节点 ii 上有猫。

接下来 n1n-1 行,每行包含两个整数 xi,yix_i,y_i,表示节点 xix_i 和节点 yiy_i 之间有一条边。

保证输入的边构成一棵树。

输出格式

输出一行一个整数,表示 Kefa\text{Kefa} 可以到达的餐厅数量。

输入输出样例 #1

输入 #1

4 1
1 1 0 0
1 2
1 3
1 4

输出 #1

2

样例解释 #1

这棵树中,根节点是 11

节点 2,3,42,3,4 都是叶子节点,因此它们都是餐厅。

从节点 11 到节点 22 的路径为:

121 \to 2

其中节点 11 和节点 22 都有猫,连续有猫节点数为 22,超过了 m=1m=1,所以 Kefa\text{Kefa} 不能去节点 22

从节点 11 到节点 33 的路径为:

131 \to 3

其中节点 11 有猫,节点 33 没有猫,最多连续有猫节点数为 11,没有超过 m=1m=1,所以 Kefa\text{Kefa} 可以去节点 33

从节点 11 到节点 44 的路径同理,也可以到达。

因此答案为 22

输入输出样例 #2

输入 #2

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

输出 #2

2

样例解释 #2

叶子节点为 4,5,6,74,5,6,7,它们表示餐厅。

从根节点 11 出发:

  • 到节点 44 的路径为 1241 \to 2 \to 4,节点 44 有猫,但路径上最多连续有猫节点数不超过 11,可以到达;
  • 到节点 55 的路径为 1251 \to 2 \to 5,可以到达;
  • 到节点 66 的路径为 1361 \to 3 \to 6,节点 11 和节点 33 都有猫,连续有猫节点数超过 11,不能到达;
  • 到节点 77 的路径为 1371 \to 3 \to 7,同样不能到达。

所以答案为 22

数据范围与约定

对于所有测试数据,保证:

2n105,1mn2 \le n \le 10^5,\quad 1 \le m \le n ai{0,1}a_i \in \{0,1\}

输入的 n1n-1 条边保证构成一棵树。

测试点 分值 nn mm 特殊性质
121\sim 2 2020 20\le 20 n\le n
343\sim 4 103\le 10^3 A\text{A}
565\sim 6 105\le 10^5 B\text{B}
787\sim 8 C\text{C}
9109\sim 10

特殊性质 A\text{A}:保证这棵树是一条链。

特殊性质 B\text{B}:保证所有节点都没有猫。

特殊性质 C\text{C}:保证所有节点都有猫。