限序远行
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
限序远行
题目描述
考察队准备从 号营地前往 号营地。共有 个营地和 条单向道路,营地编号为 ,道路编号为 。第 条道路从营地 通向营地 ,长度为 。
考察队拿到了一张长度为 的道路清单 。队员可以划去清单中的任意若干项,再按照剩余项的顺序依次走过对应道路。每次走一条道路时,队员所在的营地必须是这条道路的起点;走完后到达它的终点。
考察队希望从 号营地出发,最终停在 号营地,并让走过的道路总长度尽可能大。请计算这个最大值。如果无法按规则到达 号营地,输出 。
清单中同一个道路编号可以出现多次;每一项最多使用一次,但不同位置上的相同编号可以分别使用。清单中的项目可以跳过,不能调换顺序。营地和道路均可重复经过,也可以在到达 号营地后继续出发,只要最终仍停在 号营地即可。没有保证道路构成无环图。
输入格式
第一行包含三个整数 ,分别表示营地数、道路数和清单长度。
接下来 行,第 行包含三个整数 ,表示第 条道路的起点、终点和长度。道路只能从 走向 。
最后一行包含 个整数 ,依次表示清单中的道路编号。
数据保证:
- ;
- ;
- ,且 ;
- ;
- ;
- 所有输入均为整数。
不同道路可以有相同的起点和终点,但道路编号不同。道路两端的编号不要求递增。
输出格式
输出一个整数,表示合法行程的最大总长度。无法到达 号营地时,输出 。
输入输出样例
输入 #1
3 3 5
1 2 4
2 1 3
1 3 5
1 2 3 1 3
输出 #1
12
输入 #2
2 2 3
1 2 6
2 1 2
1 2 1
输出 #2
14
输入 #3
3 2 2
1 2 5
2 3 8
2 1
输出 #3
-1
样例说明
样例 1 中,可以保留清单的前三项,依次走道路 ,行程为 ,总长度为 。也可以跳过一些项目,但无法得到更长的合法行程。
样例 2 中,三个项目全部使用,行程为 ,总长度为 。第一次到达终点后仍然可以继续走。道路 对应清单中的两个不同位置,因此可以经过两次。
样例 3 中,清单先给出道路 。此时尚未到达道路 的起点,只能跳过它。之后即使使用道路 到达营地 ,也不能回头使用已经跳过的清单项目,因此无法到达营地 。