15分求调玄关
查看原帖
15分求调玄关
1399730
shijiarun楼主2024/9/30 20:17
#include<bits/stdc++.h>
using namespace std;
int main(){
	long long n,d,z=0,z1=0,s=0,ans=0,zli;
	cin>>n>>d;
	long long ju[n+5];
	long long q[n+5];
	for(int i=1;i<=n-1;i++){
		cin>>ju[i];
	}
	for(int i=1;i<=n;i++){
		cin>>q[i];
		if(z==0&&z1==0){
			z=q[i];
			z1=i;
		}
	}
	s=ju[1]/d+1;
	ans+=s*q[1];
	zli=s*d-ju[1];
	for(int i=2;i<=n-1;i++){
		if(q[i]>q[i-1]){
			ju[i]-=zli;
			if(ju[i]%d==0){
				s=ju[i]/d;
			}
			else{
				s=ju[i]/d+1;
			}
			ans+=s*q[i-1];
			zli=s*d-ju[i];
		}
		else{
			ju[i]-=zli;
			if(ju[i]%d==0){
				s=ju[i]/d;
			}
			else{
				s=ju[i]/d+1;
			}
			ans+=s*q[i];
			zli=s*d-ju[i];
		}
	}
	cout<<ans;
	
}
2024/9/30 20:17
加载中...