团队远足
提交数: 1, 通过率: 100%, 平均分: 100
题目描述:
给定一张N个点M条边的有向无环图,每条边都有一个长度。给定一个起点S和终点T。若从S到T的每条路径都经过某条边,则称这条边是有向图的必经边或桥。
现在要从S点到T点。他们在路上可以搭乘两次车。每次可以从任意位置(甚至是一条边上的任意位置)上车,从任意位置下车,但连续乘坐的长度不能超过q米。除去这两次乘车外,剩下的路段步行。定义从S到T的路径的危险程度等于步行经过的桥上路段的长度之和。求从S到T的最小危险程度是多少。
输入格式:
第一行包括5个整数 n, m, s, t 和 q (1 ≤ n ≤ 200 000, 1 ≤ m ≤ 200 000, 0 ≤ s,t < n, s ≠ t, 1 ≤ q ≤ 1 000 000 000), 分别表示顶点个数、道路的条数、起始点编号、终点编号,每次乘车最长的距离。
接下来m行描述一个有向无环图,每行包括三个数u,v,w,表示从u顶点到v顶点有条道路,长度是w米, (1 ≤ w ≤ 1 000) 。
输出格式:
一行一个整数,表示最小的危险程度。如果没有路径,输出-1。
样例输入:
8 9 1 6 5 1 4 1 1 2 10 1 2 9 4 2 2 2 5 8 4 3 3 5 6 6 5 6 7 6 7 5
样例输出:
3
提示:
1<=N , M <=2*105, 1<=1 <= 109。
时间限制: 1000ms空间限制: 256MB