用p[a]保存的是输入的a在第p[a]个,
然后根据差值查找。
#include<stdio.h>
#include<string.h> int main()
{
int mm,m,t,n,i,j,flag,a,p[];
scanf("%d",&t);
while(t--)
{
flag=;
scanf("%d",&n);
for(i=;i<n;i++)
{
scanf("%d",&a);
p[a]=i;
}
m=n/;
for(j=;j<m;j++)
{
mm=n-j-j;
for(i=;i<=mm;i++)
{
if(p[i]<p[i+j]&&p[i+j]<p[i+j+j])
{
flag=;break;
}
if(p[i]>p[i+j]&&p[i+j]>p[i+j+j])
{
flag=;break;
}
}
if(flag==)break;
} if(flag==)printf("Y\n");
else printf("N\n");
}
return ;
}