#3523. 起跳坡道
起跳坡道
题目描述
Vasya 参加了一场沿 轴进行的滑雪比赛。起点在 0 号点,终点在 号点,即沿轴正方向离起点 米。Vasya 练得非常狠,他在雪地上每秒恰好滑行 1 米。
此外,赛道上有 条起跳坡道,每条坡道用四个数描述:
- 表示坡道的坐标;
- 表示 Vasya 从这个坡道飞下后落地的距离(米);
- 表示飞行时间(秒);
- 表示 Vasya 需要助跑多少米才能起跳。助跑时他必须滑在雪上(即不在飞行状态),但速度仍是每秒 1 米。
Vasya 可以在 轴上沿任意方向移动,但禁止越过起跑线,即不能进入负半轴。Vasya 自己决定使用哪些坡道和使用顺序——他没必要把遇到的每个坡道都用上,可以跳过某个坡道。保证 ,即飞行中 Vasya 不会越过终点线。
Vasya 只能从坡道上沿 轴正方向起跳。 严格地说,使用第 条坡道时,Vasya 从点 开始助跑,在点 起跳,于点 落地。他不能反方向使用坡道。
求 Vasya 滑完全程所需的最短时间。
输入格式
第一行包含两个整数 和 (,)。接下来 行每行一条坡道描述:四个非负整数 、、、(,,)。
输出格式
第一行输出 Vasya 完成赛道所需的最短秒数。第二行输出 ——Vasya 需要使用的坡道数。第三行输出他按使用顺序所用的坡道编号,每个数恰好输出一次,用空格隔开。坡道按输入顺序从 1 开始编号。
2 20
5 10 5 5
4 16 1 7
15
1
1
2 20
9 8 12 6
15 5 1 1
16
1
2
说明/提示
第一组样例中,Vasya 不能使用坡道 2,因为那样助跑点将是 ,题面不允许。最优方案是用坡道 1,总时间为:移动到助跑起点 + 助跑到起跳点 + 飞行时间 + 从落点到终点 = 0 + 5 + 5 + 5 = 15。
第二组样例中,用坡道 1 不优()。最优方案是用坡道 2,总时间为助跑 + 飞行 + 移动。