1 条题解

  • 0
    @ 2026-10-7 15:49:24
    #include<bits/stdc++.h>
    using namespace std;
    #define int long long 
    const int N=1e5+10;
    int p[N],v[N];
    int n,d,ans=0;
    signed main(){
    //	freopen("road.in","r",stdin);
    //	freopen("road.out","w",stdout);
    	cin>>n>>d;
    	for(int i=1;i<n;i++){
    		cin>>v[i];
    	}
    	for(int i=1;i<=n;i++){
    		cin>>p[i];
    		if(i==1) continue;
    		p[i]=min(p[i],p[i-1]);
    	}
    	int sy=0;
    	for(int i=1;i<n;i++){
    		if(sy>=v[i]) sy-=v[i];
    		else{
    			int jl=v[i]-sy;
    			int s=ceil(jl*1.0/d);
    			ans+=s*p[i];
    			sy=s*d-jl;
    		}
    	}
    	cout<<ans;
    	return 0;
    }
    
    
    • 1

    信息

    ID
    92
    时间
    1000ms
    内存
    256MiB
    难度
    8
    标签
    递交数
    208
    已通过
    31
    上传者