A108431.星港远航
普及/提高-
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
你驾驶一艘飞船,从位置 0 出发,目标是到达位置 L。
飞船初始拥有 P 单位能源。每前进 1 单位距离,就会消耗 1 单位能源。
沿途有 n 个补给站,第 i 个补给站位于位置 xi,如果你到达这里,就可以选择把该站的全部补给 ai 加入飞船能源中。每个补给站最多使用一次。
你可以经过补给站而不使用它,也可以在到达时立即使用它。
请你求出:至少需要使用多少个补给站,才能到达终点 L。
如果无论如何都无法到达,输出 −1。
输入格式
第一行三个整数 n,L,P。
接下来 n 行,每行两个整数 xi,ai,表示一个补给站的位置和可获得的能源。
输出格式
输出一个整数,表示最少需要使用的补给站数量;若无法到达输出 −1。
输入输出样例
输入#1
5 25 10 10 10 14 5 20 2 21 4 24 10
输出#1
2
说明/提示
样例解释
一种最优方案如下:
- 初始能源为 10,先从 0 开到 10;
- 在位置 10 使用补给站,能源增加 10,增加后能源为 10;
- 继续前进到 14,能源剩余 6;
- 在位置 14 使用补给站,能源增加 5,增加后能源为 11;
- 继续前进到 25,剩余能量 0,此时已经到达终点。
最少只需要使用 2 个补给站。
数据范围
- 1≤n≤2×105
- 1≤P,L≤1018
- 1≤xi<L
- 1≤ai≤1018
提示
- 补给站输入顺序不一定按位置有序。
- 你不必在到达某个补给站时立刻决定是否使用它。
- 可以把终点看成一个位置为 L、补给量为 0 的“特殊补给站”。