文件详细信息

下载本文件

本文件的大小为 908 字节。

#include<cstdio>
int read(){
	int ch=getchar(),num=0;
	while(ch<48||ch>57)ch=getchar();
	while(ch>=48&&ch<=57)num=(num<<3)+(num<<1)+(ch^48),ch=getchar();
	return num;
}
int t,n,answer,count,num,a[1005],cnt[1005];
int main(){
	t=read();
	register int i,j;
	while(t--){
		n=read(),answer=count=num=0;
		if(n>1000){
			puts("0");
			for(i=1;i<=n;i++)read();
		}else{
			for(i=1;i<=1000;i++)cnt[i]=0;
			for(i=1;i<=n;i++)cnt[a[i]=read()]++;
			for(i=1;i<=1000;i++)
				if(cnt[i]>1){
					count++;
					num=i;
					if(cnt[i]!=2||count>1){
						puts("0");
						goto out;
					}
				}
			if(count==1){
				for(j=1;(j<<1)<num;j++){
					if(!cnt[j]&&!cnt[num-j]){
						puts("2");
						goto out;
					}
				}
				puts("0");
				goto out;
			}
			for(i=1;i<=n;i++)
				for(j=1;(j<<1)<a[i];j++)
					if(!cnt[j]&&!cnt[a[i]-j]){
						answer++;
						break;
					}
			printf("%d\n",answer);
		}
		out:;
	}
	return 0;
}