题目描述
小苞准备开着车沿着公路自驾。
公路上一共有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