吐槽
  • 板块灌水区
  • 楼主Brainless_zxc
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/10/21 22:02
  • 上次更新2023/10/22 11:35:39
查看原帖
吐槽
661274
Brainless_zxc楼主2023/10/21 22:02

小图灵数据和洛谷数据根本不准啊。

J组T3的特殊性质C明明给了50,结果洛谷和小图灵统一吞了30。

T2的特殊性质一给了30,但是洛谷给了20,小图灵给了35。

所以我贪心是不是假了,帮我看一下代码:

#include<bits/stdc++.h>
using namespace std;
long long n,d,v[100005],a[100005],minn=1145141919810,ninnum=0;
long long road(long long l,long long r){
	long long sum=0;
	for(int i=l;i<=r-1;i++){
		sum+=v[i];
	}
	return sum;
}
int main(){
	//freopen("road.in","r",stdin);
	//freopen("road.out","w",stdout);
	cin>>n>>d;
	for(int i=1;i<=n-1;i++){
		cin>>v[i];
	}
	for(int i=1;i<=n;i++){
		cin>>a[i];
		if(a[i]<minn){
			ninnum=i;
			minn=a[i];
		}
	}
	if(ninnum==1){
		cout<<ceil(road(1,n)*1.0/d)*a[1]<<endl;
		return 0;
	}
	long long now=1,cnt=0,all=0;
	double oil=0;
	while(now<=n){
		if(now+cnt<=n&&a[now]>a[now+cnt]){
			if(now+cnt==n){
				all+=ceil(road(now,now+cnt)*1.0/d-oil)*a[now];
				now+=cnt;
				cout<<all<<endl;
				return 0;
			}
			all+=ceil(road(now,now+cnt)*1.0/d)*a[now];
			oil+=ceil(road(now,now+cnt)*1.0/d)-road(now,now+cnt)*1.0/d;
			now+=cnt;
			cnt=0;
		}
		cnt++;
	}
	//fclose(stdin);
	//fclose(stdout);
	return 0;
}
2023/10/21 22:02
加载中...