我怎么全是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;
}
求大佬指教~~~~~~~