CF2000G.Call During the Journey

提高+/省选-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

你所居住的城市由 nn 个交叉路口和连接几对交叉路口的 mm 条街道组成。您可以在每条街道上向任一方向前进。没有两条街道连接同一对交叉路口,也没有一条街道只连接一个交叉路口。您可以从任何一个交叉路口到达另一个交叉路口,但可能会经过其他一些交叉路口。

每分钟,你可以在路口 uiu_i 登上一辆公交车,然后行驶 li1l_{i1} 分钟到达路口 viv_i 。相反,您可以在 li1l_{i1} 分钟内从路口 viv_i 到达路口 uiu_i 。您只能在交叉路口上下车。只有当您正在某交叉路口时,才能在该交叉路口登上公共汽车。

您也可以沿着每条街道步行,这需要 li2>li1l_{i2} \gt l_{i1} 分钟。

您可以在十字路口停车。

您住在十字路口编号 11 处。今天您在 00 点起床,在路口编号 nn 处有一个重要活动安排,您必须在 t0t_0 点之前到达。你还计划打一个电话,通话时间为 t1t_1 至 t2t_2 分钟( t1<t2<t0t_1 \lt t_2 \lt t_0 )。

通话期间,您不能乘坐公共汽车,但可以在任何街道上行走、停靠在站点处或待在家里。您可以在 t1t_1 分钟下车,在 t2t_2 分钟再次上车。

由于您希望获得充足的睡眠,您开始好奇您可以多晚离开家,以便有时间讲电话,同时还不会在活动中迟到?

输入格式

第一行包含一个整数 tt ( 1≤t≤1041 \le t \le 10^4 ) - 测试用例数。下面是测试用例的说明。

每个测试用例的第一行包含两个整数 nn , mm ( 2≤n≤105,1≤m≤1052 \le n \le 10^5, 1 \le m \le 10^5 ) - 城市中十字路口和街道的数量。

每个测试用例的第二行分别包含三个整数 t0t_0 , t1t_1 , t2t_2 ( 1<t1<t2<t0≤1091 \lt t_1 \lt t_2 \lt t_0 \le 10^9 ) - 事件开始时间、电话开始时间和结束时间。

每个测试用例接下来的 mm 行包含对街道的描述。

第 ii 行包含四个整数 uiu_i 、 viv_i 、 li1l_{i1} 、 li2l_{i2} ( 1≤ui,vi≤n1 \le u_i, v_i \le n 、 ui≠viu_i \neq v_i 、 1≤li1<li2≤1091 \le l_{i1} \lt l_{i2} \le 10^9 )--即由第 ii 条街道连接的十字路口的编号,以及沿街乘坐公交车和步行所需的时间。保证没有两条街道连接同一对交叉路口,并且可以从任何一个交叉路口到达另一个交叉路口。

保证所有测试用例中 nn 的值之和不超过 10510^5 。同时保证所有测试用例中 mm 的值之和不超过 10510^5 。

输出格式

对于每个测试用例,输出一个整数--您离开家的最晚时间,以便有时间讲电话而不会迟到。如果您不能按时到达活动地点,则输出 -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测评打分。不知道怎么写?

首页