luogu#P5340. [TJOI2019] 大中锋的游乐场
[TJOI2019] 大中锋的游乐场
题目描述
大中锋正在一个游乐场里玩耍。游乐场里有 个娱乐设施,娱乐设施之间相互有共 条道路相连,经过每一条路都需要花费一定的时间。为了方便游客,每一个娱乐设施旁都会配有一个小卖部,一部分小卖部会销售可乐,另一部分会销售汉堡。
由于大中锋十分贪吃,所以每当他走到一个娱乐设施,他都会先去购买一杯可乐或一个汉堡,并把它们吃掉。但如果大中锋吃掉的汉堡数量比他喝掉的可乐数量多于 ,那他就会感到很渴;如果喝掉的可乐数量比吃掉的汉堡数量多于 ,那他就会感到很饿。
现在大中锋正在第 个娱乐设施,他想前往第 个娱乐设施,但在他前进的路途中他不希望自己很渴或很饿。大中锋想知道自己在路上少花费多少时间。但由于大中锋很懒惰,他不想思考这个问题。你能帮助他解决这个问题吗?
注意:大中锋非常贪吃,所以他到达每个点的第一件事是去吃(或者喝),才考虑其他的事情,所以在起始点和终点他都会去买汉堡(可乐),你也需要保证在这两个点他不会感到很饿或者很渴。
输入格式
输入的第一行是一个整数 表示数据组数数,对于每组数据的格式如下:
第一行有三个整数,分别代表游乐场的娱乐设施个数 ,游乐场的道路数 , 以及给出的参数 ,其含义见【题目描述】。
第二行有 个整数,第 个整数 代表编号为 的娱乐设施旁的小卖部销售的物品, 表示可乐, 表示汉堡。
第 到第 行,每行三个整数 ,代表从第 个娱乐设施到第 个娱乐设施有存在一条双向道路,通过该道路需要花费时间 。
第 行有两个整数 ,代表大中锋想从娱乐设施 前往娱乐设施 。
输出格式
对于每组数据输出一行一个整数表示答案。如果无解,请输出 。
1
2 1 1
1 1
1 2 1
1 2
-1
1
2 1 2
1 1
1 2 1
1 2
1
提示
数据规模与约定
- 对于 的数据,保证 。
- 对于 的数据,保证 ,,,,,。
对于所有数据,保证 ,且每个测试点的大数据不超过 个。
题目补充说明
- 路径不一定是简单路径。
- 大中锋可以多次经过一个节点,同时每次都会取得汉堡/可乐。