#include<stdio.h> #include<string.h> #define max 1000000+10 int main() {int i,m,flag,t, a[max],b[max],c[max],n; scanf("%d",&t); while(t--) {scanf("%d%d",&n,&m); flag=0; memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); memset(c,0,sizeof(c)); for(i=0;i<n;i++) {scanf("%d",&a[i]); if(a[i]>=0) b[a[i]]++; else c[-a[i]]++; } for(i=0;i<n;i++) { if(m-a[i]>=0) {if(a[i]==m-a[i]&&b[a[i]]>1) {flag=1;break;} if(a[i]!=m-a[i]&&b[m-a[i]]) {flag=1;break;} } else{ if(a[i]==m-a[i]&&c[-a[i]]>1) {flag=1;break;} if(a[i]!=m-a[i]&&c[a[i]-m]) {flag=1;break;} } } printf(flag?"YES\n":"NO\n"); } return 0; } |
Double click to view unformatted code.