#lg10438. [JOIST 2024] 塔楼 / Tower
[JOIST 2024] 塔楼 / Tower
#4156. 「JOISC 2024 Day3」塔
标签: 传统 | 时间限制: 2000 ms | 内存限制: 1024 MiB |
题目描述
题目译自 JOISC 2024 Day3 T3 「塔 / Tower」
IOI 塔是一座极高的塔,塔上设有登塔楼梯。楼梯有 级,从下到上按第 级,第 级依次编号。JOI 君目前在第 级,并且想要爬上楼梯。JOI 君可以按如下两种方式爬楼梯。不可以走下楼梯。
- 上一级楼梯。这个操作花费 秒。
- 从目前的一级楼梯跳到它上面 级楼梯,跳过中间的楼梯。这个操作花费 秒。
目前,楼梯的某些地方正在施工,正在施工的楼梯不能踩上去。更确切地说,有 处在施工的地方,第 处为第 级台阶。
IOI 塔有 个房间,编号为 到 。可以从第 级台阶进入房间 。因此,JOI 君想确定他是否可以到达每个房间,如果可以,他想知道到达那个房间最少要花多长时间。
给定 JOI 君,施工和房间的信息,写一个程序判断 JOI 君是否能到达每个房间 ,如果可以,计算到达房间的最短时间。
输入格式
第一行两个整数 。
第二行三个整数 。
接下来 行,每行两个整数 。
接下来 行,每行一个整数 。
输出格式
输出 行,第 行输出如果 JOI 君能够到达 的话,所需的最短用时,否则输出 。
样例 1
输入
3 1
4 10 35
4 5
10 12
14 14
13
输出
120
JOI 君可以通过如下方式,花 秒到达第 级台阶:
- 从台阶 走到台阶 ,花费 秒。
- 从台阶 走到台阶 ,花费 秒。
- 从台阶 走到台阶 ,花费 秒。
- 从台阶 跳到台阶 ,花费 秒。
- 从台阶 走到台阶 ,花费 秒。
- 从台阶 走到台阶 ,花费 秒。
- 从台阶 跳到台阶 ,花费 秒。
因为不可能花费小于 秒到达台阶 ,所以输出 。
这组样例满足子任务 的限制。
样例 2
输入
5 10
10 1 9
7 11
25 32
37 38
43 44
50 52
6
12
18
24
30
36
42
48
54
60
输出
6
11
17
22
-1
33
-1
44
-1
55
这组样例满足子任务 的限制。
数据范围与提示
详细子任务附加限制及说明如下表所示。
| 子任务编号 | 附加限制 | 分值 |
|---|---|---|
| 无附加限制 |