#include <iostream> #include <cstdio> #include <cstdlib> #include <cstring> #include <cmath> #include <string> #include <queue> #include <stack> #include <algorithm> const int inf = (1<<31)-1; const int MAXN = 2e5+10; const int T = 1e5; using namespace std; int a[MAXN]; int b[MAXN]; int n; int main() { int t,x; scanf("%d",&t); while(t--){ scanf("%d%d",&n,&x); int flag = 0; memset(b,0,sizeof(b)); for(int i=0;i<n;i++){ scanf("%d",&a[i]); b[a[i]+T]++; } for(int i=0;i<n;i++){ if(x-a[i]==a[i]&&b[a[i]+T]>1){ flag = 1; break; }else if(x-a[i]!=a[i]&&b[x-a[i]+T]){ flag = 1; } } if(flag)cout<<"YES"<<endl; else cout<<"NO"<<endl; } //cout << "Hello world!" << endl; return 0; } |
Double click to view unformatted code.