Spoj 10628. Count on a tree
给定一棵包含 个节点的树,每个节点都有一个非负整数权值。
你需要回答 次询问。每次询问给出 ,实际查询的两个端点分别为 和 ,其中 表示上一次询问的答案,初始值为 。对于每次询问,输出这两个端点之间简单路径上第 小的节点权值。
输入格式
第一行包含两个整数 。
第二行包含 个整数,其中第 个整数表示节点 的权值。
接下来 行,每行包含两个整数 ,表示节点 与节点 之间有一条边。
最后 行,每行包含三个整数 ,表示一组询问。该询问实际查询的两个端点为 和 。
输出格式
输出 行,每行包含一个整数,表示对应询问的答案。每行均以换行符结束,包括最后一行。
样例输入
8 5
105 2 9 3 8 5 7 7
1 2
1 3
1 4
3 5
3 6
3 7
4 8
2 5 1
0 5 2
10 5 3
11 5 4
110 8 2
样例输出
2
8
9
105
7
数据范围
- ;
- 所有节点的权值均为非负整数;
- 每次询问解码后的端点均合法;
- 对于每次询问, 对应路径包含的节点数。
来源与许可
本题题面与测试数据整理自 BZOJ。
样例 1
输入
8 5
105 2 9 3 8 5 7 7
1 2
1 3
1 4
3 5
3 6
3 7
4 8
2 5 1
0 5 2
10 5 3
11 5 4
110 8 2
输出
2
8
9
105
7