[CSP-J 2023] 公路

#include<bits/stdc++.h>
using namespace std;
int n,d,a[100010],b[100010],sum=0;
long long c=0;
int main()
{
    freopen("road.in","r",stdin);
    freopen("road.out","w",stdout);
    cin>>n>>d;
    a[0]=99999999;
    for(int i=1;i<n;i++)
    cin>>b[i];
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
        if(a[i]>a[i-1])
        {
            a[i]=a[i-1];
        }    
    }
    for(int i=1;i<n;i++)
    {
        while(sum<b[i])
        {
            c+=a[i];
            sum+=d;
        }
        sum-=b[i];
    }
    cout<<c;
    return 0;
}

猜你喜欢

转载自blog.csdn.net/bbc121223/article/details/143220898