求调
  • 板块题目总版
  • 楼主yhs13111
  • 当前回复5
  • 已保存回复5
  • 发布时间2024/8/10 09:22
  • 上次更新2024/8/10 10:36:35
查看原帖
求调
992547
yhs13111楼主2024/8/10 09:22
#include<bits/stdc++.h>
#define ll long long
#define For(i,x,y) for(register int i=x;i<=y;i++)
using namespace std;
const int N=1e5+10;
ll n,d,v[N],a[N],b[N],t=1,ans;
int main()
{
	scanf("%lld%lld",&n,&d);
	For(i,1,n-1)scanf("%lld",&v[i]),v[i]+=v[i-1];
	For(i,1,n)scanf("%lld",&a[i]);
	For(i,2,n)
	{
		if(a[i]<a[t]||i==n)
		{
			int s,k=v[i-1]-v[t-1];
			s=k/d;
			if(s*d!=k)
			{
				s++,v[i-1]=v[i-1]+(s*d-k);
			}
			ans+=s*a[t];
			t=i;
		}
	}
	printf("%lld",ans);
}
2024/8/10 09:22
加载中...