代码:
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+5;
int n;
int d;
int v[N],a[N];
long long sum=0;
int main(){
scanf("%d%d",&n,&d);
for(int i=1;i<n;i++) scanf("%d",&a[i]);
for(int i=1;i<=n;i++) scanf("%d",&v[i]);
int i=0;
int minn=1;
v[0]=N;
a[0]=a[1];
double x=0;
double you=0;
for(i=1;i<n;i++)
{
if(v[i]<v[minn])
{
if(you*d>=x)
{
you-=x*1.0/d;
}
else
{
x-=you*d;
you=0;
int s=ceil(x*1.0/d);
sum+=s*v[minn];
you+=s-(x*1.0/d);
}
minn=i;
x=0;
}
x+=a[i];
}
if(you*d>=x)
{
you-=x*1.0/d;
}
else
{
x-=you*d;
you=0;
int s=ceil(x*1.0/d);
sum+=s*v[minn];
you+=s-(x*1.0/d);
}
printf("%lld",sum);
return 0;
}