50分求调
查看原帖
50分求调
1170804
zhengyao19楼主2024/9/25 20:04
#include<iostream>
#define int long long
using namespace std;
int n,k,s=0,she=0,u[100001],a[100001];
signed main(){
	cin>>n>>k;
	for(int i=2;i<=n;i++){
		cin>>u[i];
		u[i]+=u[i-1];
	}
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	for(int i=1;i<=n;){
		int j=i;
		for(;j<=n&&a[j]>=a[i];j++);
		if(j>n){
			if((u[n]-u[i])%k!=0) s+=((u[n]-u[i])/k+1)*a[i];
			else s+=((u[n]-u[i])/k)*a[i];
			break;
		}else{
			if((u[j]-u[i]-she)%k!=0) s+=((u[j]-u[i]-she)/k+1)*a[i];
			else s+=((u[j]-u[i]-she)/k)*a[i];
			she=((u[j]-u[i]-she)%k);
			i=j;
		}
	}
	cout<<s;
	return 0;
}
2024/9/25 20:04
加载中...