地址 https://www.papamelon.com/problem/226
你需要驾驶一辆汽车行驶 L 单位距离。 最开始时, 卡车上有 P 单位的汽油。 汽车每开 1 单位距离需要消耗 1 单位的汽油。 如果在途中车上的汽油耗尽, 车就无法继续前行, 因而无法达到终点。 在途中一共有 N 个加油站。第ii 个加油站在距离 终点 A_i单位距离的地方, 最多可以给汽车加 B_i单位汽油。 假设卡车的燃油箱的容量是无限大的。问最少加多少次汽油可以达到终点 ? 无法达到请输出-1。 输入 第一行是 N,表示有多少个加油站 接下来 N 行,每行两个整数 A_i, B_i,表示每个加油站距离 终点 的位置,以及最多可以加多少油 最后一行是 L, P 1≤N≤2∗10^4 1≤L≤10^6 1≤P≤10^6 1≤Ai≤L 1≤Bi≤100 输出 一个整数,表示最少加多少次油 样例 1 输入 4 4 4 5 2 11 5 15 10 25 10 输出 2
解答
本题目使用贪心算法,如果油不足以达到终点。 要求加油次数最小,那么在可选择的加油站中选择可加油最多的站点加油。