编译错误
查看原帖
编译错误
1116014
shimucheng楼主2024/9/23 21:00

rt,代码如下。

#include <bits/stdc++.h>
using namespace std;
const int M=1e5+10;
long long n,d,v[M],a[M],ans;
long long s[M]//s[i]:到站点i的距离 
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];
	 	s[i]=s[i-1]+v[i];//前缀和 
	}
	for(int i=1;i<=n;i++) cin>>a[i];
	//当前站点是i
	//向后找第一个比i便宜的站j
	//此时在i站加刚好到j站的油 
	int i=1,j; 
	long long ta=0;
	double tr=0;//剩下的油 
	while (i<n){
		j=i+1;
		while (a[j]>=a[i]&&j<n) j++;
		ta=ceil(double (s[j]-s[i])/d-tr);
		ans+=ta*a[i];
		tr=tr+ta-double (s[j]-s[i])/d;
		i=j;//下一次从i开始 
	}
	cout<<ans<<endl;
	return 0;
}
2024/9/23 21:00
加载中...