RERERERERERE,咋全是RE?
查看原帖
RERERERERERE,咋全是RE?
1572527
cj240816ytq楼主2024/12/19 22:27

我怎么全是RE?

#include<bits/stdc++.h>
using namespace std;
#define int long long
int n,a[510],ans=0;
int b[510],cnt=0;
int c[510],ct=0;
bool check(){
	ct=0;
	if(cnt<3) return 0;
	if(b[1]>=b[2]) return 0;
	if(b[cnt]>=b[cnt-1]) return 0;
	for(int i=1;i+2<=cnt;i++){
		if(b[i]==b[i+1]&&b[i+1]==b[i+2]) return 0;
	}
	int id=1;
	while(id<cnt){
		while(id+1<=cnt&&b[id+1]>b[id]) id++;
		c[++ct]=id;
		if(b[id+1]==b[id]) return 0;
		if(b[id]==b[id+1]) id++;
	}
	for(int i=1;i<ct;i++) if(b[c[i]]>=b[c[i+1]]) return 0;
	for(int i=1;i<ct;i++) if(c[i+1]-c[i]<=2) return 0;
	return 1;
}
signed main(){
	cin>>n;
	for(int i=0;i<n;i++) cin>>a[i];
	int num=0;
	for(int i=0;i<(1ll<<n);i++){
		cnt=0;
		for(int j=0;j<n;j++) if((i>>j)&1) b[++cnt]=a[j];
		if(check()) ans++;
	}
	cout<<ans<<endl;
}

求大佬指教~~~~~~~

2024/12/19 22:27
加载中...