#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=1000005;
int a[N];
signed main(){
	freopen("road.in","r",stdin);
	freopen("road.out","w",stdout);
	int n,k,mi=1000000000000,mq=0,gl1=0,gl2=0,q=0;
	cin>>n>>k;
	for(int i=0;i<n-1;i++) cin>>a[i];
	for(int i=0;i<n-1;i++){
		gl1+=a[i];//每次将目前总长度更新
		long long jq;
		cin>>jq;//输入此次油钱
		if(jq<mi){//如果发现此次的油钱比之前的便宜那就更新并加上
			mi=jq;
			if((gl1-gl2)%k==0){
				q+=(gl1-gl2)/k*mi;
				gl2+=(gl1-gl2);
			}else{
				q+=((gl1-gl2)/k+1)*mi;
				gl2+=((gl1-gl2)/k+1)*k;
			}
		}else{//否则不更新
			if((gl1-gl2)%k==0){
				q+=(gl1-gl2)/k*mi;
				gl2+=(gl1-gl2);
			}else{
				q+=((gl1-gl2)/k+1)*mi;
				gl2+=((gl1-gl2)/k+1)*k;
			}
		}
	}
	int kds;
	cin>>kds;
	cout<<q<<endl;
	return 0;
}

1 条评论

  • 1