题目描述
给定一棵大小为 n 的树。树上节点编号从 1 到 n。
树上的第 i 条边表示为三个整数 ui,wi,wi,表示存在一条连接节点 ui 和 vi,长度为 wi 的边。
有 q 次询问,每次询问给你一个整数 ki,你需要判断树上是否存在长度为 k 的路径。
输入格式
第一行,两个整数 n 和 m,以一个空格分隔,分别表示树的大小以及询问次数(1≤n,m≤104)。
接下来 n−1 行,每行包含三个整数 ui,vi,wi,表示树上的一条边(1≤ui,vi≤n,1≤wi≤104)。
接下来 m 行,每行包含一个整数 ki(1≤ki≤107),表示一次询问。
输出格式
对于每次询问的 ki,输出一行。如果树上存在至少一条长度为 ki 的简单路径,输出 'YES';否则,输出 'NO'。
样例
4 3
1 2 1
2 3 3
2 4 4
2
5
7
NO
YES
YES
说明/提示
数据规模与约定
- 对于 30% 的数据,n,m≤10;wi,ki≤100
- 对于 60% 的数据,n,m≤1000;wi,ki≤1000
- 对于 100% 的数据,1≤n,m≤104;1≤wi≤104;1≤ki≤107