#include<bits/stdc++.h>
using namespace std;
int n,d;
int a[1000001+5],v[1000001+5];
int ans;
int main(){
cin>>n>>d;
for(int i=1;i<=n-1;i++) cin>>v[i];
for(int i=1;i<=n;i++) cin>>a[i];
for(int i=1;i<=n-1;i++){
int AneedOil,BneedOil;
if(v[i-1]%d!=0) AneedOil=(v[i-1]/d+1);
else AneedOil=(v[i-1]/d);
if(v[i]%d!=0) BneedOil=(v[i]/d+1);
else BneedOil=(v[i]/d);
//cout<<BneedOil<<endl;
if(i==1){
ans=BneedOil*a[i];
if(d*BneedOil>=v[i]) v[i+1]-=(d*BneedOil)%v[i];
}else{
ans+=min(a[i-1]*(AneedOil+BneedOil),a[i]*BneedOil);
if(d*BneedOil>=v[i]) v[i+1]-=d*BneedOil%v[i];
}
}
cout<<ans-3<<endl;
return 0;
}
有大佬知道为什么我错了吗 wuuwuwuwuwu(( 求助