[Baltic2005]Trip
有 座城镇和 条单向巴士路线,每条路线中途均不停车。城镇编号为 到 。
一名旅行者在时刻 位于城镇 ,希望在时刻 位于城镇 。如果提前到达,他必须在城镇中等待。
对于第 条巴士路线,已知其起点城镇 和终点城镇 。巴士的出发和到达时间只能确定在一定范围内:它会在闭区间 内离开城镇 ,并在闭区间 内到达城镇 。
旅行者不喜欢等待,因此希望选择一个旅行方案,使总等待时间在最坏情况下尽可能短。同时,该方案必须保证他绝对不会错过任何一辆计划乘坐的巴士。也就是说,每次换乘时,前一辆巴士的最晚到达时间不能晚于后一辆巴士的最早出发时间。
计算最坏情况下的等待时间时,应假设旅行者乘坐的巴士尽早到达,而下一辆巴士尽晚出发。旅行开始前在城镇 的等待时间,以及抵达城镇 后直到时刻 的等待时间,也计入总等待时间。
请计算所有可行旅行方案中,最坏情况下总等待时间的最小值。
输入格式
第一行包含四个整数 、、 和 ,分别表示城镇数量、巴士路线数量、目的地城镇编号和目标时刻。
接下来 行,每行包含六个整数 、、、、、,描述一条巴士路线。其中, 和 分别为起点城镇和终点城镇,巴士在闭区间 内出发,并在闭区间 内到达。
输出格式
输出一个整数,表示最合理旅行方案的最坏情况总等待时间。
如果无法保证旅行者在时刻 位于城镇 ,输出 。
样例输入
3 6 2 100
1 3 10 20 30 40
3 2 32 35 95 95
1 1 1 1 7 8
1 3 8 8 9 9
2 2 98 98 99 99
1 2 0 0 99 101
样例输出
32
样例解释
该旅行方案在最坏情况下的过程如下:
- 时刻 至 :在城镇 等待;
- 时刻 至 :乘坐第 条路线,从城镇 到城镇 ;
- 时刻 至 :在城镇 等待;
- 时刻 至 :乘坐第 条路线,从城镇 到城镇 ;
- 时刻 至 :在城镇 等待;
- 时刻 至 :乘坐第 条路线,从城镇 到城镇 ;
- 时刻 至 :在城镇 等待;
- 时刻 至 :乘坐第 条路线,从城镇 到城镇 ;
- 时刻 至 :在城镇 等待。
总等待时间为:
数据范围
- ;
- ;
- ;
- ;
- ,;
- 。
来源与许可
本题为 Baltic OI 2005 试题「Trip」,题面与测试数据整理自 BZOJ 1395。
样例 1
输入
3 6 2 100
1 3 10 20 30 40
3 2 32 35 95 95
1 1 1 1 7 8
1 3 8 8 9 9
2 2 98 98 99 99
1 2 0 0 99 101
输出
32