40分?!
查看原帖
40分?!
1401667
fanluxiang楼主2024/9/8 10:41
#include<bits/stdc++.h>
using namespace std;
long long a[10010],p[10010];
int main()
{
	long long n,d;
	cin>>n>>d;
	for(int i=1;i<n;i++)
		cin>>a[i];
	cin>>p[1];
	long long ja=p[1],j=1,s,m,sh=0,h=0;
	for(int i=2;i<=n;i++)
	{
		cin>>p[i];
		if(p[i]<ja)
		{
			s=0;
			for(int l=j;l<i;l++)
				s+=a[l];
			if(s-sh<=0) continue;
			if((s-sh)%d==0) 
			{
				m=(s-sh)/d;
				h+=m*ja;
				sh=0;
			}
			else 
			{
				m=(s-sh)/d+1;
				h+=m*ja;
				sh=m*d+sh-s;
			}
			ja=p[i];
			j=i;
		}
	}
	if(h==0)  
	{
		s=0;
		for(int l=1;l<n;l++)
			s+=a[l];
		if(s%d==0) h+=s/d*ja;
		else  h+=(s/d+1)*ja;
	}
	else if(j!=n)
	{
		s=0;
		for(int l=j;l<n;l++)
			s+=a[l];
		if(s-sh>0)
		{
			if((s-sh)%d==0) 
				h+=s/d*ja;
			else 
				h+=(s/d+1)*ja;
		}
	}
	cout<<h;
	return 0;
}
2024/9/8 10:41
加载中...