题解 100% AC
2025-08-08 16:40:17
发布于:江苏
9阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int n,d,v[100010],a[100010],minx=INT_MAX;
long long sum,ans,pre;
int main(){
freopen("road.in", "r", stdin);
freopen("road.out", "w", stdout);
cin>>n>>d;
for(int i=2;i<=n;i++)cin>>v[i];
for(int i=1;i<=n;i++)cin>>a[i];
for(int i=2;i<=n;i++){
sum+=v[i];
minx=min(minx,a[i-1]);
long long tmp=max(0LL,(sum-pre+d-1)/d);
ans+=tmp*minx;
pre+=tmp*d;
}
cout<<ans;
fclose(stdin);
fclose(stdout);
return 0;
}
这里空空如也
有帮助,赞一个