30分求条
查看原帖
30分求条
1276344
wanglijia楼主2025/7/26 11:05
#include<bits/stdc++.h>
using namespace std;
#define int long long
long long dis[1000005],p[1000005];
signed main(){
	int n,d;
	long long ans=0;
	cin>>n>>d;
	for(int i=1;i<n;i++) cin>>dis[i];
	for(int i=1;i<=n;i++) cin>>p[i];
	int minx=1e6,oil;
	long long ex=0;
	for(int i=1;i<n;i++){
		minx=min(minx,p[i]);
		if(ex>=dis[i]){
			ex-=dis[i];
			continue;
		}
		ex=dis[i]-ex;
		oil=ceil(1.0*ex/d);
		ex=oil*d-dis[i];
		ans+=oil*minx;
	}
	cout<<ans;
	return 0;
}
2025/7/26 11:05
加载中...