cspj 第二题
#include<bits/stdc++.h>
using namespace std;
long long n,d;
long long v[100005],a[100005],ans=0,lst=0;
long long qzh[100005],zh;
signed main()
{
scanf("%lld%lld",&n,&d);
for(int i=1;i<n;i++)
{
scanf("%lld",&v[i]);
qzh[i]=v[i]+qzh[i-1];
}
for(int i=1;i<n;i++)
{
scanf("%lld",&a[i]);
}
for(int i=1;i<n;i++)
{
int cc=0;
if(qzh[i]<zh) continue;
for(int j=i+1;j<=n;j++)
{
if(a[j]<a[i])
{
cc=j;
break;
}
}
if((qzh[cc-1]-zh)%d!=0)
{
ans+=((qzh[cc-1]-zh)/d+1)*a[i];
zh+=((qzh[cc-1]-zh)/d+1)*d;
}
else
{
ans+=((qzh[cc-1]-zh)/d)*a[i];
zh=qzh[cc-1];
}
}
printf("%lld",ans);
return 0;
}