CF2000G.Call During the Journey
提高+/省选-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
你所居住的城市由 n 个交叉路口和连接几对交叉路口的 m 条街道组成。您可以在每条街道上向任一方向前进。没有两条街道连接同一对交叉路口,也没有一条街道只连接一个交叉路口。您可以从任何一个交叉路口到达另一个交叉路口,但可能会经过其他一些交叉路口。
每分钟,你可以在路口 ui 登上一辆公交车,然后行驶 li1 分钟到达路口 vi 。相反,您可以在 li1 分钟内从路口 vi 到达路口 ui 。您只能在交叉路口上下车。只有当您正在某交叉路口时,才能在该交叉路口登上公共汽车。
您也可以沿着每条街道步行,这需要 li2>li1 分钟。
您可以在十字路口停车。
您住在十字路口编号 1 处。今天您在 0 点起床,在路口编号 n 处有一个重要活动安排,您必须在 t0 点之前到达。你还计划打一个电话,通话时间为 t1 至 t2 分钟( t1<t2<t0 )。
通话期间,您不能乘坐公共汽车,但可以在任何街道上行走、停靠在站点处或待在家里。您可以在 t1 分钟下车,在 t2 分钟再次上车。
由于您希望获得充足的睡眠,您开始好奇您可以多晚离开家,以便有时间讲电话,同时还不会在活动中迟到?
输入格式
第一行包含一个整数 t ( 1≤t≤104 ) - 测试用例数。下面是测试用例的说明。
每个测试用例的第一行包含两个整数 n , m ( 2≤n≤105,1≤m≤105 ) - 城市中十字路口和街道的数量。
每个测试用例的第二行分别包含三个整数 t0 , t1 , t2 ( 1<t1<t2<t0≤109 ) - 事件开始时间、电话开始时间和结束时间。
每个测试用例接下来的 m 行包含对街道的描述。
第 i 行包含四个整数 ui 、 vi 、 li1 、 li2 ( 1≤ui,vi≤n 、 ui=vi 、 1≤li1<li2≤109 )--即由第 i 条街道连接的十字路口的编号,以及沿街乘坐公交车和步行所需的时间。保证没有两条街道连接同一对交叉路口,并且可以从任何一个交叉路口到达另一个交叉路口。
保证所有测试用例中 n 的值之和不超过 105 。同时保证所有测试用例中 m 的值之和不超过 105 。
输出格式
对于每个测试用例,输出一个整数--您离开家的最晚时间,以便有时间讲电话而不会迟到。如果您不能按时到达活动地点,则输出 -1。
输入输出样例
输入#1
7 5 5 100 20 80 1 5 30 100 1 2 20 50 2 3 20 50 3 4 20 50 4 5 20 50 2 1 100 50 60 1 2 55 110 4 4 100 40 60 1 2 30 100 2 4 30 100 1 3 20 50 3 4 20 50 3 3 100 80 90 1 2 1 10 2 3 10 50 1 3 20 21 3 2 58 55 57 2 1 1 3 2 3 3 4 2 1 12 9 10 2 1 6 10 5 5 8 5 6 2 1 1 8 2 3 4 8 4 2 2 4 5 3 3 4 4 5 2 6
输出#1
0 -1 60 80 53 3 2
输入解题思路,AI测评打分。不知道怎么写?