小杨在二维空间中有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。
3
3 1
5 6 3
3 5 6
1 4 100000
100001
耗费时间最少的移动方案为,从第3个挡板左端点移动到右端点,耗费3个单位时间,然后向右移动掉落到第2个挡板上,耗费100000-6=99994个单位时间,之后再向右移动1个单位长度,耗费1个单位时间,最后向右移动掉落到第1个挡板上,耗费3个单位时间。共耗费3+99994+1+3=100001个单位时间。
| 子任务编号 | 数据点占比 | n | 特殊条件 |
|---|---|---|---|
| 1 | 20% | ≤1000 | l_i=1 |
| 2 | 40% | ≤1000 | l_i=i, r_i=i+1 |
| 3 | 40% | ≤1000 | 无 |
对于全部数据,保证有1≤n≤1000,1≤l_i≤r_i≤10^5,1≤h_i≤10^5。