#P8163. [JOI 2022 Final] 铁路旅行 2 (Railway Trip 2)
[JOI 2022 Final] 铁路旅行 2 (Railway Trip 2)
题目描述
IOI 铁路公司在一条铁轨上运营线路。铁轨为一条直线,该铁轨上有 个车站,编号为 。车站 与车站 之间由一条铁轨直接连接。
IOI 铁路公司正在运营 条线路,编号为 。线路 的起点为 ,终点为 ,列车在每一站均会停靠,即如果 ,一列 号线的列车会按顺序在车站 停靠。如果 ,一列 号线的列车会按顺序在车站 停靠。
JOI 君是一个旅行者。他有 个旅行计划。在第 个旅行计划中他计划从车站 通过乘坐列车前往车站 。
然而,JOI 君因长途跋涉而疲惫不堪。他希望他乘坐的列车均有空座以便休息。因此 JOI 君决定,只有当某条线路的起点站是第 个或更早的车站时,他才会在该站乘坐该条线路的列车。换句话说,对于线路 ,如果 ,那么他只会在车站 $A_j, A_j + 1, \ldots, \min \{ A_j + K - 1, B_j - 1 \}$ 乘上线路 的列车。如果 ,那么他只会在车站 $A_j, A_j - 1, \ldots, \max \{ A_j - K + 1, B_j + 1 \}$ 乘上线路 的列车。
在这些条件下,JOI 君希望尽量减少乘坐火车的次数。
给出 IOI 铁路公司的线路信息和 JOI 君的计划,写一个程序计算对于 JOI 君的每一个计划,他所需的最小乘车次数。
输入格式
第一行,两个正整数 。
第二行,一个正整数 。
接下来 行,第 行两个正整数 。
接下来一行,一个正整数 。
接下来 行,第 行两个正整数 。
输出格式
输出 行,第 行一个数,表示对于 JOI 君的第 个计划,他实现该计划所需的最小乘车次数。如果无论如何无法实现第 个计划,则输出 -1
。
5 2
2
5 1
3 5
3
5 3
3 2
2 1
1
2
-1
6 3
2
1 6
5 1
4
5 1
6 3
3 6
2 1
1
-1
1
2
6 5
4
3 1
2 4
5 3
4 6
5
1 5
3 2
2 6
6 3
5 4
-1
1
2
-1
1
12 1
5
1 7
10 12
3 5
8 10
5 9
7
2 11
5 8
3 12
4 6
1 9
9 10
1 4
-1
1
4
-1
2
-1
1
提示
【样例解释 #1】
对于第一个计划,JOI 君要从车站 前往车站 。具体地,此计划可以通过如下方式实现:JOI 君在车站 乘上 号线的列车,并在车站 下车。JOI 君总共乘坐了一次列车。由于不可能花费比 更少的乘车次数实现该计划,在第一行输出 。
对于第二个计划,JOI 君要从车站 前往车站 。具体地,此计划可以通过如下方式实现:JOI 君在车站 乘上 号线的列车,并在车站 下车;然后在车站 乘上 号线的列车,并在车站 下车。JOI 君总共乘坐了两次列车。由于不可能花费比 更少的乘车次数实现该计划,在第二行输出 。
对于第一个计划,JOI 君要从车站 前往车站 。由于无论如何无法实现该计划,在第三行输出 -1
。
这个样例满足子任务 的限制。
【样例解释 #2】
这个样例满足子任务 的限制。
【样例解释 #3】
这个样例满足子任务 的限制。
【样例解释 #4】
这个样例满足子任务 的限制。
【数据范围】
本题采用捆绑测试。
对于 的数据,,,,,,,,(),()。
- 子任务 ( 分):。
- 子任务 ( 分):。
- 子任务 ( 分):。
- 子任务 ( 分):。
- 子任务 ( 分):,。
- 子任务 ( 分):无特殊限制。
译自 JOI 2022 Final T4「鉄道旅行 2 / Railway Trip 2」