比赛 2025暑期集训第2场 评测结果 WWWAAWAAAAWWWWAWAWWW
题目名称 等差子序列 最终得分 40
用户昵称 梧叶已同秋雨去 运行时间 1.015 s
代码语言 C++ 内存使用 3.75 MiB
提交时间 2025-06-29 17:06:40
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
int n,t,a[10005],f[10005];
int main(){
	freopen("sequence.in","r",stdin);
	freopen("sequence.out","w",stdout);
	cin>>t;
	for(int z=1;z<=t;z++){
		cin>>n;
		for(int i=1;i<=n;i++){
			cin>>a[i];
			f[a[i]]=i;
		}
		int e=1;
		for(int i=1;i<=n;i++){
			for(int j=a[i];j<=(n-a[i]+2)/3;j++){
				int k=a[i]+j;
				int ke=a[i]-j;
				int kk=k+j;
				int kke=ke-j;
				if((f[a[i]]<=f[k]&&f[k]<=f[kk]&&k<=n&&kk<=n)||(f[a[i]]<=f[ke]&&f[ke]<=f[kke]&&ke>0&&kke>0)||(f[a[i]]>=f[k]&&f[k]>=f[kk]&&k<=n&&kk<=n)||(f[a[i]]>=f[ke]&&f[ke]>=f[kke]&&ke>0&&kke>0)){
					printf("Y\n");
					e=0;
					break;
				}
			}
			if(e==0){
				break;
			}
		}
		if(e){
			printf("N\n");
		}
	}
	return 0;
}