#include<bits/stdc++.h> using namespace std; int a[1000]; int main(){ int T; scanf("%d",&T); while(T--){ int n,x,key; scanf("%d",&n); scanf("%d",&x); bool flag=false; memset(a,0,sizeof(a)); for(int i=0;i<n;i++){ scanf("%d",&a[i]); } a[n]=x; sort(a,a+n); for(int i=0;i<=n;i++){ if(a[i]==x){ key=i; } } int max=key-1;int min=0; while(min<max){ if(a[min]+a[max]==x){ flag=true;break; } else if(a[min]+a[max]>x){ max--; } else if(a[min]+a[max]<x){ min++; } } if(flag==true){ printf("YES"); printf("\n"); } else{ printf("NO"); printf("\n"); } } } |
Double click to view unformatted code.