帮忙看看吧???
查看原帖
帮忙看看吧???
1494460
hetao5945861楼主2024/10/4 12:07

那位大佬帮忙看看:

#include <bits/stdc++.h>
using namespace std;
int v[10005],a[10005];
int main()
{
    int n,d,ans=0;
    cin >> n >> d;
    for (int i=1;i<=n-1;i++)
    {
        cin >> v[i]; //距离
    }
    for (int i=1;i<=n;i++)
    {
        cin >> a[i]; //价格
    }
    int minn=a[1],s=1,left=0; //minn表示当前价格的最小值,s表示每次购买的站点,left表示每次购买后多出来的行程。
    for (int i=1;i<=n;i++)
    {
        if (a[i]<minn) //判断是否存在比当前价格更小的值。
        {
        	int sum=0; //所需行走的路程。
            for (int j=s;j<=i-1;j++)
            {
            	sum+=v[j]; //累计所需行走的路程。
            }
            ans+=ceil((sum-left)/d)*minn; //累计所花费的金额。
			left=ceil((sum-left)/d)*d-sum+left; //计算次购买后多出来的行程。
            minn=a[i]; //更新最小值
            s=i; //更新站点
        }
    }
    cout << ans << endl;
    return 0;
}

为什么测试全错啊?

2024/10/4 12:07
加载中...