#include<bits/stdc++.h>
using namespace std;
long long n,d,S,ans;
long long a[114514],v[114514];
double last;
int main() {
scanf("%lld %lld",&n,&d);
for(int i=2; i<=n; i++) {
scanf("%lld",&v[i]);
v[i]+=v[i-1];
}
for(int i=1; i<=n; i++) {
scanf("%lld",&a[i]);
}
for(int i=1; i<=n; ) {
int ok=1;
for(int j=i+1; j<=n; j++) {
if(a[j]<a[i]) {
ok=0;
ans+=(ceil(1.0*(v[j]-v[i])/d-last))*a[i];
last+=ceil(1.0*(v[j]-v[i])/d-last)-1.0*(v[j]-v[i])/d;
i=j;
break;
}
}
if(ok) {
ans+=a[i]*(ceil(ceil(1.0*(v[n]-v[i])/d)-last));
break;
}
}
cout<<ans;
return 0;
}