View Code of Problem 133

#include<bits/stdc++.h>
using namespace std;
int a[10000000];
int main() {
	int t;
	cin >> t;
	while (t--) {
		int n, x;
		cin >> n >> x;
		set<int> shu;
		shu.clear();
		fill(a,a+1000000,0);
		for (int i = 0; i < n; i++) {
			int m;
			cin >> m;
			shu.insert(m);
			a[m]++;
		}
		int flag=0;
		for(auto i:shu){
			if(i<=x){
				if(x-i!=i){
					if(a[x-i]>0)
					{
						flag=1;
						break;
					}
				}
				else{
					if(a[x-i]>1)
					{
						flag=1;
						break;
					}
				}
			}
			else
			{
				break;
			}
		}
		if(flag)
			cout<<"YES"<<endl;
		else
			cout<<"NO"<<endl;

	}
}

Double click to view unformatted code.


Back to problem 133