求J组T2代码查错
  • 板块学术版
  • 楼主FarmarJohn
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/10/22 19:55
  • 上次更新2023/10/22 19:58:53
查看原帖
求J组T2代码查错
750365
FarmarJohn楼主2023/10/22 19:55
#include<bits/stdc++.h>
using namespace std;
unsigned long long n,d,a[100010],v[100010],minn=2147483647,m1[100010],ii,ans1,money,more;
int main()
{
	#define int unsigned long long
	cin >> n >> d;
	for(int i=1;i<=n-1;++i)
	{
		cin >> v[i];
		ans1+=v[i];
	}
	for(int i=1;i<=n;++i)
	{
		cin >> a[i];
		if(minn>a[i])
		{
			++ii;
			m1[ii]=i;
			minn=a[i];
		}
	}
	if(ii==1)
	{
		if(ans1%d!=0)
		{
			cout << (ans1/d+1)*a[1];
		}
		else cout << ans1/d*a[1];
		return 0;
	}
	for(int i=1;i<=ii-1;++i)
	{
		ans1=0;
		for(int j=m1[i];j<m1[i+1];++j)ans1+=v[j];
		if(i==ii-1)
		{
			ans1-=more;
			more=0;
		}
		if(ans1%d!=0)
		{
			money+=(ans1/d+1)*a[m1[i]];
			more+=d;
		}
		else money+=ans1/d*a[m1[i]];
	}
	cout << money;
	return 0;
}

rt

2023/10/22 19:55
加载中...