#include<bits/stdc++.h>
using namespace std;
int n,d,a[1000000],v[1000000],sum=0,m=1,k,rest=0,now=0;
int ceill(int n,int k)
{
if(n%k!=0)
{
return n/k+1;
}
else return n/k;
}
int main()
{
//freopen("road.in","r",stdin);
//freopen("road.out","w",stdout);
cin>>n>>d;
for(int i=1;i<n;i++){
cin>>v[i];v[i]+=v[i-1];}
for(int i=1;i<=n;i++)
cin>>a[i];
while(m<n)
{
k=m+1;
while(k<=n)
{
if(a[k]<a[m]||k==n)
{
now=v[k-1]-v[m-1]-rest;
sum+=a[m]*ceill(now,d);
rest=ceill(now,d)*d-now;
// cout<<sum<<" "<<rest<<endl;
break;
}
else k++;
}
m=k;
}
cout<<sum;
return 0;
}
比赛的时候直接爆零了
裤裤改完还是只有50