现在的位置: 首页 > 综合 > 正文

hdu 3833

2018年12月31日 ⁄ 综合 ⁄ 共 525字 ⁄ 字号 评论关闭

暴力,有技巧,确定a[i2]的值,先从0~i2找a[i1]的值来计算a[i3]的值,当i2>n/2时,从i2~n-1找a[i3]的值来计算a[i1]的值

#include<stdio.h>
int hash[10010],a[10010];
int main()
{
	int i,j,n,t,k,flag;
	scanf("%d",&t);
	while(t--)
	{
		flag=0;
		scanf("%d",&n);
		for(i=0;i<n;i++)
		{
			scanf("%d",&a[i]);
			hash[a[i]]=i;
		}
		for(i=1;i<n/2;i++)
		{
			for(j=0;j<i;j++)
			{
				k=2*a[i]-a[j];
				if(k<=0||k>n)continue;
				if(hash[k]>i)
				{flag=1;break;}
			}
			if(flag==1)break;
		}
		for(i;i<n-1;i++)
		{
			for(j=i+1;j<n;j++)
			{
				 k=2*a[i]-a[j];
				 if(k<=0||k>n)continue;
				if(hash[k]<i)
				{flag=1;break;}
			}
			if(flag==1)break;
		}
		if(flag==1)
			puts("Y");
		else puts("N");
	}
	return 0;
}
【上篇】
【下篇】

抱歉!评论已关闭.