为什么在CF交两份相同的代码一份WA一份AC
  • 板块学术版
  • 楼主y0y68tahs6
  • 当前回复5
  • 已保存回复5
  • 发布时间2022/7/23 23:16
  • 上次更新2023/10/27 18:42:29
查看原帖
为什么在CF交两份相同的代码一份WA一份AC
115668
y0y68tahs6楼主2022/7/23 23:16
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+5;
int T,n,m,a[N];
int main(){
	for(cin>>T;T;T--){
		scanf("%d%d",&n,&m);
		for(int i=1;i<=n;i++)
			scanf("%d",&a[i]);
		if(n==1){
			puts(a[n]==m?"yes":"no");
			continue;
		}
		bool flag=1;
		for(int i=1;i<=n;i++)
			if(a[i]==m){
				flag=0;break;
			}
		if(flag){
			puts("no");continue;
		}
		flag=1;
		for(int i=1;i<=n;i++)
			a[i]=a[i-1]+(a[i]>=m?1:-1);
		for(int i=2,mn=0;i<=n;i++){
			mn=min(mn,a[i-2]);
			if(a[i]>mn){
				flag=0;break;
			}
		}
		puts(flag?"no":"yes");
	}
	return 0;
}
2022/7/23 23:16
加载中...