Coding is the closest thing we have to superpower !
描述
给定一颗N个节点的树,结点从1到N编号,每个结点上有一些苹果。
现在从结点1开始,每一步可以走向相邻结点,到达某一结点后,可以收集该结点的苹果(第二次到达某结点则没有苹果可收集)。
现在最多可以走K步,问最多可以收集到多少苹果。
输入
第一行输入两个整数N(1 \le N \le 100), K(0 \le K \le 200)。
第二行给出N个整数a_1, a_2, a_3, ..., a_N(0 \le a_i \le 100),表示每个结点的上的苹果。
接下来N-1行,每行两个整数x_i, y_i (1 \le x_i, y_i \le n, x_i \ne y_i), 表示x_i, y_i之间有一条边。
输入保证是一棵树。
输出
输出最大可以收集的苹果数目。
样例
输入
2 1 0 11 1 2
输出
11
输入
3 2 0 1 2 1 2 1 3
输出
2
标签