#include<iostream>
#include<cmath>
using namespace std;
const int N=1e5+5;
long long n,d,v[N],a[N],ans,s,k,minn=0x3f3f3f3f;
int main()
{
cin>>n>>d;
for(int i=1;i<n;i++) cin>>v[i];
for(int i=1;i<=n;i++) cin>>a[i];
for(int i=1;i<n;i++)
{
if(minn>a[i])
{
if(minn!=0x3f3f3f3f)
{
ans+=ceil(s/(d*1.0))*minn;
k=k+(ceil(s/(d*1.0))*d-s); s=0;
}
minn=min(minn,a[i]);
}
s+=v[i];
}
ans+=ceil(s/(d*1.0)-ceil(k/(d*1.0)))*minn;
cout<<ans;
return 0;
}
求求大佬看看哪错了,谢谢,会关注!!