A 求解
  • 板块学术版
  • 楼主Vct14
  • 当前回复21
  • 已保存回复21
  • 发布时间2023/8/4 12:01
  • 上次更新2023/11/3 05:59:37
查看原帖
A 求解
677609
Vct14楼主2023/8/4 12:01

RT

求修改qwq

#include<bits/stdc++.h>
using namespace std;

int n;
int a[100002];

bool isSubsequence1(int x){
	int i=1,j=x+1; 
    while(i<=x && j<=n){
    	if(a[i]==a[j]){
    		if(i==x) return true;
    		else i++;
		}
        j++;
    }
    return i>=x;
}

bool isSubsequence2(int x){
	int i=1,j=x+1; 
    while(i<=x && j<=n){
    	if(a[i]==a[j]){
    		if(j==n) return true;
    		else j++;
		}
        i++;
    }
    return j>=n;
}

int main(){
	int t;
	cin>>t;
	while(t--){
		int n;
		cin>>n;
		memset(a,-1,sizeof(a));
		for(int i=1; i<=n; i++) cin>>a[i];
		bool f=false;
		for(int i=1; i<=n/2; i++) if(!isSubsequence1(i)) f=true;
		if(f){
			puts("YES");
			continue;
		}
		for(int i=n/2; i<n; i++) if(!isSubsequence2(i)) f=true;
		if(f){
			puts("YES");
			continue;
		}
		puts("NO");
	}
	return 0;
}

2023/8/4 12:01
加载中...