#include <stdio.h> #include <stdlib.h> #include <string.h> int a[100000],X; int compare(const void *a,const void *b) { int *pa=(int *)a; int *pb=(int *)b; int num1=*pa; int num2=*pb; return num1-num2; } void solve(int n) { int begin=0,end=n-1; while(begin<end) { int c=a[begin]+a[end]; if(c==X) { printf("YES\n"); return ; } else if(c>X) { end--; } else { begin++; } } printf("NO\n"); return ; } int main() { int n,i,T; scanf("%d",&T); while(T--) { scanf("%d%d",&n,&X); for(i=0;i<n;i++) { scanf("%d",&a[i]); } qsort(a,n,sizeof(int),compare); solve(n); } return 0; } |
Double click to view unformatted code.