#PD019D. 登山(clim)
登山(clim)
登山(clim)
- 输入:
clim.in - 输出:
clim.out - 时间限制:
2 s - 内存限制:
256 MB
题目描述
训练营组织了一次登山拉练。共有 座山,编号为 到 ,第 座山的高度为 。其中一些山之间修有双向道路。
一名同学从山 沿道路走到山 时,需要消耗 点体力。若 ,则这个值为负数,表示体力会恢复。行走过程中体力不能变为负数。
现在有 次询问。每次询问给定起点 、终点 和初始体力 ,请判断是否存在一条从山 出发并最终到达山 的路线。每次询问互相独立。
输入格式
从文件 clim.in 中读入数据。
第一行包含两个整数 ,分别表示山的数量和道路的数量。
第二行包含 个整数 ,表示每座山的高度。
接下来 行,每行包含两个整数 ,表示山 和山 之间有一条双向道路。
接下来一行包含一个整数 ,表示询问次数。
接下来 行,每行包含三个整数 ,表示起点、终点和初始体力。
输出格式
输出到文件 clim.out 中。
对于每次询问,如果能够从山 到达山 ,输出 YES,否则输出 NO。
样例1输入
7 7
1 5 3 4 2 4 1
1 4
4 3
3 6
3 2
2 5
5 6
5 7
5
1 1 3
6 2 0
4 7 0
1 7 4
1 7 2
样例1输出
YES
NO
YES
YES
NO
样例1解释
对于第 次询问,从山 出发时体力为 。可以先从山 到山 ,消耗 点体力,体力恢复为 ;再从山 到山 ,消耗 点体力;最后从山 到山 、山 ,过程中体力不会变为负数,因此可以到达。
对于第 次询问,从山 出发时初始体力为 ,无法经过高度超过 的山,因此不能到达山 。
数据范围
对于所有数据,,,,。保证没有自环和重边。每个测试点 分。
特殊性质 A:保证所有山的高度相同。
特殊性质 B:保证道路形成一棵树。
相关
在下列比赛中: