AT347C 求助(玄关1)
  • 板块灌水区
  • 楼主XinShiYun
  • 当前回复9
  • 已保存回复9
  • 发布时间2024/3/30 21:14
  • 上次更新2024/3/30 23:07:46
查看原帖
AT347C 求助(玄关1)
850063
XinShiYun楼主2024/3/30 21:14

为啥这个代码总是有一个测试点过不了
玄关1求助

#include<bits/stdc++.h>
using namespace std;
const long long INf=0x3f3f3f3f3f3f;
int n;
long long a,b;
long long d[200009]; 
long long r=INf,l=-INf;
bool flag=1;
int main(){
	cin>>n>>a>>b;
	for(int i=1;i<=n;i++){
		cin>>d[i];
		if(d[i]>=a)
			flag=0;
	} if(flag==1){
		cout<<"Yes"<<endl;
		return 0;
	} for(int i=1;i<=n;i++){
		long long pl=(1-d[i])%(a+b);
		long long pr=(a-d[i])%(a+b);
		if(pr==0)
			pr=a+b;
		if(pl==0)
			pl=a+b;
		if(pr<0)
			pr+=a+b;
		if(pl<0)
			pl+=a+b;
		if(pr<pl)
			pr+=a+b;
		if(l>=a+b&&r>=a+b&&pl<a+b&&pr<a+b)
			pl+=a+b,pr+=a+b;
		l=max(l,pl);
		r=min(r,pr);
	} if(l<=r)
		cout<<"Yes"<<endl;
	else cout<<"No"<<endl;
	return 0;
}

2024/3/30 21:14
加载中...