#1168. 小A的捡芝麻计划
小A的捡芝麻计划
题目描述
又到了暑假,小A又来到西瓜地!
经过无人机的扫描,他发现今年的西瓜地形成了一棵包含 个节点的树。节点编号为 ,第 个节点上有一个大小为 的西瓜。树上的 条小路连接各个节点,每条小路可以双向通行。
每次询问中,小A手里抱着一个大小为 的西瓜,沿树上从节点 到节点 的简单路径行走。保证 在 到节点 的路径上,允许 。
小A会依次比较路径上每个节点的西瓜,起点 和终点 也要比较。如果当前节点的西瓜严格大于手中的西瓜,他就扔下手中的西瓜,换成当前节点的西瓜;大小相等时不替换。
请回答每次询问中,小A一共替换多少次西瓜。每次询问相互独立,均使用给定的初始大小 和原始节点大小 。
输入格式
从文件 sesame.in 中读入数据。
第一行包含一个整数 ,表示节点数量。
第二行包含 个整数 ,表示各节点的西瓜大小。
接下来 行,每行包含两个整数 ,表示节点 与节点 之间有一条小路。保证这些小路构成一棵树。
接下来一行包含一个整数 ,表示询问数量。
接下来 行,每行包含三个整数 ,含义如题目描述所述。
输出格式
输出到文件 sesame.out 中。
输出 行,每行一个整数,表示对应询问中的替换次数。
样例1
样例输入1
5
3 5 1 2 4
1 2
1 3
2 4
3 5
4
4 2 1
4 2 2
4 2 3
5 1 5
样例输出1
2
1
1
0
样例解释1
第一条询问依次比较节点 上大小为 的西瓜。初始大小为 ,因此两次都替换。
第二条询问的初始大小为 ,在节点 不替换,在节点 替换一次。第三条询问也只在节点 替换。
第四条询问经过的节点依次为 ,对应大小为 ,都不超过初始大小 ,因此答案为 。
样例 2
见选手目录下的 sesame/sesame2.in 与 sesame/sesame2.ans。
该组样例满足 。
样例 3
见选手目录下的 sesame/sesame3.in 与 sesame/sesame3.ans。
该组样例满足 。
数据范围
对于所有测试点,保证 ,,,。保证输入是一棵树,且 在 到节点 的路径上。
各测试点的额外规模限制如下。
| 测试点编号 | 的上限 |
|---|---|
统计
相关
在下列比赛中: