【23CSPJ普及组】公路(road)

Thearticlepresentsanalgorithmtofindtheminimumfuelcostforaself-drivingjourneyonaroadwithstations,consideringintegeroilpurchasesandvaryingpricesateachstop.
摘要由CSDN通过智能技术生成

题目描述

小苞准备开着车沿着公路自驾。
公路上一共有n个站点,编号为从1到n。其中站点i与站点i+1的距离为vi公里。
公路上每个站点都可以加油,编号为i的站点一升油的价格为ai元,且每个站点只出售整数升的油。
小苞想从站点1开车到站点n,一开始小苞在站点1且车的油箱是空的。已知车的油箱足够大,可以装下任意多的油,且每升油可以让车前进d公里。问小苞从站点1开到站点n,至少要花多少钱加油?

输入

输入的第一行包含两个正整数n和d,分别表示公路上站点的数量和车每升油可以前进的距离。
输入的第二行包含n-1个正整数v1,v2…vn-1,分别表示站点间的距离。
输入的第三行包含n个正整数a1,a2…an,分别表示在不同站点加油的价格。

输出

输出一行,仅包含一个正整数,表示从站点1开到站点n,小苞至少要花多少钱加油。

输入样例

5 4
10 10 10 10
9 8 9 6 5

输出样例

79

思路

1.解读题:从第一个站点到第n个站点所花费的油费,而每个站点都可以加整数的油但是油费都可能不同,求最少的油费是多少。
2.首先还是先把n,d,距离和油费输进去。但要注意: 距离是每两个之间的距离,所以是n-1 (我这是从二开始遍历的,所以是n),而油费是每个站点都有的,所以是n (我这是从二开始遍历的,所以是n+1)

long long n,d;
long long a[100009],b[100009];
cin>>n>>d;
a[1]=0;
for (int i=2;i<=n;i++){
   
	cin>>a[i];
}
for (int i
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值