View Code of Problem 3686

#include<stdio.h>
#include<string.h>
int main()
{
	int t,n,x,flag,a[5000000],b[5000000];
	scanf("%d",&t);
	while(t--)
	{
		scanf("%d %d",&n,&x);
		memset(b,0,sizeof(b));
		for(int i=0;i<n;i++)
		{
			scanf("%d",&a[i]);
			b[a[i]]++;
		}
		flag=0;
		for(int i=0;i<n;i++)
		{
			if(a[i]*2==x)
			{
				if(b[a[i]]>1)
				{
					flag=1;
					break;
				}
			}
			else if(b[x-a[i]]>=1)
			{
				flag=1;
				break;
			}
		}
		if(flag)
		{
			printf("YES\n");
		}
		else
		{
			printf("NO\n");
		}
	}
	return 0;
 } 

Double click to view unformatted code.


Back to problem 3686