记录编号 434545 评测结果 AAAAAAAAAAAAAAAAAAAA
题目名称 [国家集训队2011]等差子序列 最终得分 100
用户昵称 Gravatarattack 是否通过 通过
代码语言 C++ 运行时间 3.172 s
提交时间 2017-08-08 08:21:34 内存使用 0.33 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<bitset>
using namespace std;
using std::bitset;
const int MAXN=10001;
bool bit[MAXN];
int a;
inline void read(int &n)
{
	char c='+';int x=0;bool flag=0;
	while(c<'0'||c>'9'){c=getchar();if(c=='-')flag=1;}
	while(c>='0'&&c<='9'){x=x*10+(c-48);c=getchar();}
	n=flag==1?-x:x;
}
int main()
{
	freopen("nt2011_sequence.in","r",stdin);
	freopen("nt2011_sequence.out","w",stdout);
	int T;
	read(T);
	while(T--)
	{
		memset(bit,0,sizeof(bit));
		//bit.reset();
		int n;
		read(n);
		bool flag=0;
		for(int i=1;i<=n;i++)
		{
			read(a);
			if(flag)continue;
			bit[a]=1;
			for(int j=a-1;j!=0;j--)
			{
				int k=a*2-j;
				if(k>n)continue;
				if(bit[j]^bit[k])
				{
					flag=1;
					break;
				}
			}
		}
		flag==1?printf("Y\n"):printf("N\n");
	}
	return 0;
}