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