数值上总是差一小点,不知道问题错在哪
查看原帖
数值上总是差一小点,不知道问题错在哪
1004178
FanofFuSu楼主2024/8/22 21:05

不多说,摆代码:

#include<bits/stdc++.h>
using namespace std;
int a[100002],v[100002],n,d,till;
long long ans=0,sv=0;
int main(){
	//freopen("road.in","r",stdin);
	//freopen("road.out","w",stdout);
	scanf("%d%d",&n,&d);
	for(int i=1;i<=n-1;i++)scanf("%d",&v[i]);
	for(int i=1;i<=n;i++)scanf("%d",&a[i]);
	int i=1;while(i<n){
		sv=0;
		for(till=i+1;a[i]<=a[till];sv+=v[till-1],till++);
		sv+=v[till-1];
		printf("%d %d\n",i,sv/d);
		ans+=sv*a[i]/d;
		i=till;
	}
	cout<<ans;
	return 0;
}
2024/8/22 21:05
加载中...