#include<string.h> #include<math.h> #include<stdio.h> #include<ctype.h> int main() { int t,i,x,n; scanf("%d",&t); while(t--) { int t[100010],flag=0,i,j; scanf("%d%d",&n,&x); for(i=0;i<n;i++) { scanf("%d",&t[i]); } for(i=0;i<n;i++) { for(j=i+1;j<n;j++) { if(t[i]>t[j]) { int a=t[i]; t[i]=t[j]; t[j]=a; } } } int left,right; for(left=0;left<=n/2;left++) { for(right=n-1;right>n/2;right--) { if(t[left]+t[right]>x) right--; if(t[left]+t[right]<x) left++; if(t[left]+t[right]==x) { flag=1; break; } } } if(flag==0) printf("NO\n"); else printf("YES\n"); } return 0; } |
Double click to view unformatted code.