J组T2求调,玄关,目前5pts
  • 板块学术版
  • 楼主封禁用户
  • 当前回复2
  • 已保存回复2
  • 发布时间2023/10/21 22:08
  • 上次更新2023/11/2 12:06:03
查看原帖
J组T2求调,玄关,目前5pts
565890
封禁用户楼主2023/10/21 22:08
#include<bits/stdc++.h>
using namespace std;
long long n,d,v[1000005],a[1000005],p=1,l=1;
double s=0;
long long ans=0;
int main(){
//	freopen("road.in","r",stdin);
//	freopen("road.out","w",stdout);
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	cin>>n>>d;
	for(int i=1;i<n;i++) cin>>v[i];
	for(int i=1;i<=n;i++) cin>>a[i];
	a[n]=-1e9;
	while(p<n){
		if(a[p]>a[p+1]){
			int x=ceil(1.00000*v[p]/d-s);
			ans+=x*a[p];
			s=x-(1.00000*v[p]/d-s);
		}else{
			for(int i=p;i<n;i++){
				if(a[p]>a[i+1]){
					long long c1=0;
					for(int j=p;j<=i;j++){
						c1+=v[i];
					}
					ans+=ceil(1.00000*c1/d-s)*a[p];
					s=ceil(1.00000*c1/d-s)-(1.00000*c1/d-s);
					p=i;
					break;
				}
			}
		}
		p++;
	}
	cout<<ans;
	return 0;
}


2023/10/21 22:08
加载中...