#include <stdio.h>
#include <string.h>
int hs[100000];
int ch[100000]; //再次强调数组大小问题,要开足
int main()
{
int T,n,i,j,flag;
scanf("%d",&T);
while(T--)
{
memset(hs,0,sizeof(hs));
flag=0;
scanf("%d",&n);
for(i=0; i<n; i++)
{
scanf("%d",&ch[i]);
hs[ch[i]]=i;
}
for(i=0; i<n-2; i++)
for(j=i+2; j<n; j++)
{
int a=ch[i]+ch[j];
if(a%2!=0) //注意偶数的判断,如果是奇数就直接略过
continue;
else
{
if(hs[a/2]>i&&hs[a/2]<j)
{
flag=1;
break;
}
}
}
if(flag)
printf("Y\n");
else
printf("N\n");
}
}
哈希运用
最新推荐文章于 2024-04-23 22:43:16 发布