空间跳跃

ah090935 程序题 共 个子题

题目描述

小杨在二维空间中有 $n$ 个水平挡板,并且挡板之间彼此不重叠,其中第 $i$ 个挡板处于水平高度 $h_i$,左右端点分别位于 $l_i$ 与 $r_i$。

小杨可以在挡板上左右移动,当小杨移动到右端点时,如果再向右移动会竖直掉落,从而落到下方第一个挡板上,移动到左端点时同理。小杨在挡板上每移动 1 个单位长度会耗费 1 个单位时间,掉落时每掉落 1 个单位高度也会耗费 1 个单位时间。

小杨想知道,从第 $s$ 个挡板上的左端点出发到第 $t$ 个挡板需要耗费的最少时间是多少?

注意:可能无法从第 $s$ 个挡板到达第 $t$ 个挡板。

输入格式

第一行包含一个正整数 $n$,代表挡板数量。

第二行包含两个正整数 $s, t$,含义如题面所示。

之后 $n$ 行,每行包含三个正整数 $l_i, r_i, h_i$,代表第 $i$ 个挡板的左右端点位置与高度。

输出格式

输出一个整数代表需要耗费的最少时间,如果无法到达则输出 $-1$。

输入样例 1

3
3 1
5 6 3
3 5 6
1 4 100000

输出样例 1

100001

样例解释 1

耗费时间最少的移动方案为,从第 3 个挡板左端点移动到右端点,耗费 3 个单位时间,然后向右移动掉落到第 2 个挡板上,耗费 $100000 - 6 = 99994$ 个单位时间,之后再向右移动 1 个单位长度,耗费 1 个单位时间,最后向右移动掉落到第 1 个挡板上,耗费 3 个单位时间。共耗费 $3 + 99994 + 1 + 3 = 100001$ 个单位时间。

数据范围

子任务编号 数据点占比 $n$ 特殊条件
1 20% $\le 1000$ $l_i = 1$
2 40% $\le 1000$ $l_i = i$,$r_i = i + 1$
3 40% $\le 1000$

对于全部数据,保证有 $1 \le n \le 1000$,$1 \le l_i \le r_i \le 10^5$,$1 \le h_i \le 10^5$。

本题为编程题,提交代码并运行通过测试点后判分。

正在加载题目数据…
已答 /
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析
提交记录
共 条 仅展示自由练习提交
正在加载提交记录…
讨论
发布
登录后参与讨论 立即登录
发布讨论需先绑定并验证手机号 去绑定手机号
加载中…
我
我
回复 @
回复 @
发送
还没有人讨论,来发表第一条吧