#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,d;
cin>>n>>d;
int s[n],p[n+1];
for(int i=1;i<n;i++)
cin>>s[i];
for(int i=1;i<=n;i++)
{
cin>>p[i];
}
long long sum=0;//剩余需走站点
long long sy=0;//剩余油量
long long ans=0;//剩余可走路程
long long pi=0;//总价格
for(int i=1;i<n;i++)
{
if(ans>s[i])
{
ans-=s[i];
sum--;
}
else
{
int lu=0;
for(int j=i;j<n;j++)
{
if(p[i]>p[j])break;
else
{
lu+=s[j];
sum++;
}
}
lu-=ans;//减去买油之前剩余的油可以走的路程
int y=ceil(lu*1.0/d*1.0);//需要的油量
pi+=p[i]*y;
ans+=y*d;
ans-=s[i];
}
}
cout<<pi;
}