玄关求条
  • 板块灌水区
  • 楼主_Tatsu_
  • 当前回复7
  • 已保存回复7
  • 发布时间2024/10/15 21:36
  • 上次更新2024/10/16 00:56:35
查看原帖
玄关求条
1224895
_Tatsu_楼主2024/10/15 21:36

rt

#include <bits/stdc++.h>
#define int long long
#define fro for
using namespace std;
int a[114514],v[114514],minn=114514,pos=0;
signed main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	//freopen (".in","r",stdin);
	//freopen (".out","w",stdout);
	int n,d,sum=0,now=0;
	cin>>n>>d;
	for (int i=2;i<=n;i++)
	{
		int x;
		cin>>x;
		v[i]=v[i-1]+x;
	}
	for (int i=1;i<=n;i++)
	{
		cin>>a[i];
		if (i==n)
		a[i]=-100;
		if (minn>a[i])
		{
			minn=a[i];
			int oil=ceil(1.0*(v[i]-v[pos]-now)/d);
			if (oil*d-v[i]+v[pos]>0)
			now+=oil*d-v[i]+v[pos];
			sum+=oil*a[pos];
			pos=i;
		}
	}
	cout<<sum;
	return 0;
}
2024/10/15 21:36
加载中...