第39776题 程序题
空间跳跃

题目描述

小杨在二维空间中有 $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$。

{{ option.label }}
子题{{ index + 1 }} {{ child.type_label }}
{{ option.label }}
✓ 正确 ◐ 部分正确 ✗ 错误
编辑模式
程序运行统计
暂无判题统计
知识点:
提交{{ questionInfo.stats ? questionInfo.stats.submit_count : 0 }}次 正确率{{ statsAccuracy }}%
答案解析