95分?????
  • 板块学术版
  • 楼主HonkaiStarRail
  • 当前回复3
  • 已保存回复3
  • 发布时间2023/10/26 20:04
  • 上次更新2023/11/2 11:18:22
查看原帖
95分?????
592527
HonkaiStarRail楼主2023/10/26 20:04

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;
}
2023/10/26 20:04
加载中...