#AG0409002. 树上距离询问

树上距离询问

题目描述

给定一棵大小为 nn 的树。树上节点编号从 11nn

树上的第 ii 条边表示为三个整数 ui,wi,wiu_i, w_i, w_i,表示存在一条连接节点 uiu_iviv_i,长度为 wiw_i 的边。

qq 次询问,每次询问给你一个整数 kik_i,你需要判断树上是否存在长度为 kk 的路径。

输入格式

第一行,两个整数 nnmm,以一个空格分隔,分别表示树的大小以及询问次数(1n,m1041 \le n,m \le 10^4)。

接下来 n1n-1 行,每行包含三个整数 ui,vi,wiu_i, v_i, w_i,表示树上的一条边(1ui,vin,1wi1041 \le u_i, v_i \le n, 1 \le w_i \le 10^4)。

接下来 mm 行,每行包含一个整数 ki(1ki107)k_i(1 \le k_i \le 10^7),表示一次询问。

输出格式

对于每次询问的 kik_i,输出一行。如果树上存在至少一条长度为 kik_i 的简单路径,输出 'YES';否则,输出 'NO'。

样例

4 3
1 2 1
2 3 3
2 4 4
2
5
7
NO
YES
YES

说明/提示

数据规模与约定

  • 对于 30%30\% 的数据,n,m10;wi,ki100n,m \le 10; w_i, k_i \le 100
  • 对于 60%60\% 的数据,n,m1000;wi,ki1000n,m \le 1000; w_i, k_i \le 1000
  • 对于 100%100\% 的数据,1n,m104;1wi104;1ki1071 \le n,m \le 10^4; 1 \le w_i \le 10^4; 1 \le k_i \le 10^7