#include<bits/stdc++.h>
using namespace std;
int v[100010];
int a[100010];
int main()
{
int n,d;
cin>>n>>d;
for(int i=1;i<n;i++)
scanf("%d",&v[i]);
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
int i=1;
long long s=0,ans=0;
while(i!=n)
{
int j=i+1;
long long w=v[i];
if(a[i]<=a[j] && j!=n)
{
while(a[i]<=a[j] && j+1<=n)
{
w+=v[j];
j++;
}
}
w-=s;
ans=ans+((w-1)/d+1)*a[i];
s=((w-1)/d+1)*d-w;
i=j;
}
cout<<ans;
return 0;
}
和longlong没有关系 洛谷数据90 小图灵上50