#include<stdio.h> #include<stdlib.h> int compare(const void *a,const void *b){ return *(int *)a-*(int *)b; } int main(){ int t,n,x,flag,i,j; scanf("%d",&t); while(t--){ flag=0; scanf("%d %d",&n,&x); int a[n]; for(i=0;i<n;i++) scanf("%d",&a[i]); qsort(a,n,sizeof(int),compare); i=0,j=n-1; while(i<j){ if(a[i]+a[j]==x) { printf("YES\n"); flag=1; break; } else if(a[i]+a[j]>x){ j--; } else{ i++; } } if(flag==0) printf("NO\n"); } } |
Double click to view unformatted code.