#include<bits/stdc++.h>
using namespace std;
int v[100005],a[100005],s[100005];
int main()
{
long long n,d,ans=0,k=1,now=0;
cin>>n>>d;
for(int i=2;i<=n;i++)
{
cin>>v[i];
s[i]=s[i-1]+v[i];
}
for(int i=1;i<=n;i++) cin>>a[i];
for(int i=1;i<=n;i++)
{
if(a[k]>a[i]||i==n)
{
int p=ceil((s[i]-s[k]-now)*1.0/d);
now=now+p*d-(s[i]-s[k]);
if(now>=d)p--,now-=d;
ans=ans+a[k]*p;
k=i;
}
}
cout<<ans;
return 0;
}
50分是为啥啊,有没有大佬救救