普及T2贪心挂哪了?
  • 板块学术版
  • 楼主Expert_Dream
  • 当前回复7
  • 已保存回复7
  • 发布时间2023/10/22 07:31
  • 上次更新2023/11/2 12:02:45
查看原帖
普及T2贪心挂哪了?
768530
Expert_Dream楼主2023/10/22 07:31
#include <bits/stdc++.h>
#define ll long long 
using namespace std;
const int N = 1e5+5;
ll n,d;
ll v[N],a[N];
ll minn = 1e9;//随时维护目前最小值
ll cnt =0 ;//目前可以走到多少 
ll res=0;//累计 
ll x=0;
ll ans=0;
int main(){
//	freopen("road.in","r",stdin);
//	freopen("road.out","w",stdout);
	cin >> n >> d;
	for(int i = 1;i <= n-1;i++) scanf("%lld",&v[i]);
	for(int i = 1;i <= n;i++) scanf("%lld",&a[i]);
	for(int i =1;i <= n-1;i++){
		minn = min(minn,a[i]);
		res+=v[i];
		x = (((res-cnt) % d == 0)?((res-cnt)/d):((res-cnt)/d+1));
//		cout<<res<<" "<<cnt<<" "<<x<<endl;
		ans+=1ll*x*minn;
		cnt+=x*d;
	} printf("%lld",ans);
	return 0;
}
2023/10/22 07:31
加载中...