「CSP-J 2023」T2-公路 题解
2024-10-20 19:51:28
发布于:浙江
25阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int a[100010],b[100010];
int n,d;
int main(){
freopen("road.in","r",stdin);
freopen("road.out","w",stdout);
long long ans=0,cnt=1e5,m=0;
cin>>n>>d;
for(int i=1;i<n;i++){
cin>>a[i];//站点i到站点i+1距离
}
for(int i=1;i<=n;i++){
cin>>b[i];//站点i油价
}
for(int i=1;i<n;i++){
if(b[i]<cnt) cnt=b[i];//实时最低油价
long long x=m;//当前行驶路程
while(x<a[i]){//重复执行操作直到油箱内的油可以行驶到下一站点
x+=d;
ans+=cnt;
}
m=x-a[i];//行驶完当前路段油箱内剩余的油可行驶的路程
}
cout<<ans;//输出最小花费
fclose(stdin);
fclose(stdout);
return 0;
}
全部评论 1
加油
3天前 来自 广东
0
有帮助,赞一个