papamelong 226. 远征 Expedition(挑战程序设计竞赛)

2022/8/15 14:55:21

本文主要是介绍papamelong 226. 远征 Expedition(挑战程序设计竞赛),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

地址 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

解答
本题目使用贪心算法,如果油不足以达到终点。 要求加油次数最小,那么在可选择的加油站中选择可加油最多的站点加油。



这篇关于papamelong 226. 远征 Expedition(挑战程序设计竞赛)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程