0分求助
查看原帖
0分求助
1005641
wdm1121楼主2024/3/3 08:25
#include<bits/stdc++.h>
#define maxn 100005
using namespace std;
long long n,d,a[maxn],v[maxn],dis[maxn],fuel[maxn],minfee[maxn],minf;
int main(){
	cin>>n>>d;
	for(int i=1;i<n;i++)
	cin>>v[i];
	for(int i=1;i<=n;i++)
	cin>>a[i];
	for(int i=2;i<=n;i++){//到第i个站点的距离;到第i个站点要加的油 
		dis[i]=dis[i-1]+v[i-1];
		fuel[i]=ceil(dis[i]*1.0/d);
	}
	//从第一个站点到第二个站点
	minfee[1]=a[1]*fuel[2];
	minf=a[1];
	for(int i=2;i<n;i++)//从第i个站点出发要花多少钱
	{
		minf=min(minf,a[i]);
		minfee[i]=minf*(fuel[i+1]-fuel[i]); 
	}
	cout<<minfee[n-1]; 
}
2024/3/3 08:25
加载中...