还可以简化吗?求助一下!
查看原帖
还可以简化吗?求助一下!
1408785
sunxiaorui楼主2024/10/7 09:31
#include<bits/stdc++.h>
using namespace std;
int  n,d;//每升前进的距离 
int v[500001];//站点间的距离 
int a[500001];//站点的油价 
int min1;
long long ans;
double mai,sheng;// 需要买的油和油箱剩的油 
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]; 
min1=a[1];
for(int i=1;i<n;i++){
	mai=ceil(1.0*v[i]/d-sheng);
	//需要买的油等于所需所有的油减去油箱中剩下的油 
	ans+=mai*min1;
	min1=min(min1,a[i+1]);
	sheng=sheng+mai-1.0*v[i]/d ;
}
cout<<ans;
return 0;
}
2024/10/7 09:31
加载中...