85
#include<bits/stdc++.h>
using namespace std;
int n,v[100000],d,a[100001],m = 0,j = 1,k = 0;
double y;
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(a[j] > a[i]){
a[j] = a[i];
}
m += (ceil(v[i] * 1.0 / d - y)) * a[j];
y = ceil(v[i] * 1.0 / d - y) + y - v[i] * 1.0 / d;
}
cout<<m;
}
30
#include<bits/stdc++.h>
using namespace std;
int n,v[100000],d,a[100001],m = 0,j = 1,k = 0;
double y;
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(a[j] > a[i]){
a[j] = a[i];
}
m += (ceil(v[i] * 1.0 / d - y)) * a[j];
y = ceil(v[i] * 1.0 / d - y) - v[i] * 1.0 / d;
}
cout<<m;
}