列表

详情


NC53180. 飞天鼠

描述

译自 JOI 2014 Final T4「フクロモモンガ
飞天鼠JOI君住着的森林里长着编号为1到N的N棵桉树。第i棵树的高度是米。
JOI君能在其中的M对桉树之间直接飞行,在各对树木之间飞行所需的时间是固定的。当JOI君在树木之间飞行的时候,他离地面的高度会每秒下降1米。也就是说,如果JOI君现在离地高度是h米,在树木之间飞行需要t秒,那么飞行之后的离地高度就会变成h-t米。当h-t小于0或大于目标树木的高度时则不能飞行。
JOI君还能沿着树的侧面上下移动,使得他的离地高度在0到当前所在树木高度的范围内变化。JOI君每使自己的离地高度增加或减少1米都需要1秒的时间。
JOI君要从1号树木上高度为X米的位置出发,到树木N的顶端(高度为米的位置)去。他想知道为了达成这个目标所需时间的最小值。
给出各棵树木的高度、JOI君能直接飞行的树木对和JOI君最初所在位置的高度,请求出到达树木N顶端所需时间的最小值。

输入描述

第一行包含三个以空格分开的整数N,M和X,意义分别与题目描述中的N,M和X相同。
接下来N行中,第行有一个整数,表示树木i的高度是米。
接下来M行中,第行有三个以空格分开的整数,表示IOI君能花秒的时间从飞到或从飞到
对于任意,满足

输出描述

输出到标准输出,仅一行一个整数,表示从树木1上高度为X米处移动到树木N顶端所需时间的最小值(单位:秒)。如果不能到达目的地则输出-1。

示例1

输入:

5 5 0
50
100
25
30
10
1 2 10
2 5 50
2 4 20
4 3 1
5 4 20

输出:

110

说明:

下列是其中一种最优解:
1.沿着树木1向上爬50米。
2.从树木1飞到树木2。
3.从树木2飞到树木4。
4.从树木4飞到树木5。沿
50着树木5向上爬10米。

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

上一题