这一次,我把luogu的P9749写了(换个胃口)
不废话了,贴代码
#include<iostream>
using namespace std;
#define ll long long
ll n,d,v[100001],a[100001];
ll money,buymoney,restway;//v距离,a是油费
int main()
{
cin>>n>>d;
for(int i=1;i<n;i++)
cin>>v[i],v[i]=v[i-1]+v[i];
for(int i=1;i<=n;i++)
cin>>a[i];
//buymoney 上一个加油的加油站油价
//restway 剩余的里程数
//money 总花销
buymoney=a[1];
for(int i=1;i<n;i++)
{
if(buymoney>a[i]) buymoney=a[i];
if(restway>v[i]) continue;
int tmp=(v[i]-restway)/d;
if((v[i]-restway)%d!=0) tmp++;
money+=tmp*buymoney;
restway+=tmp*d;
}
cout<<money;
return 0;
}