#includeboolean f(){ int i,j,n,k; int a[1001]; scanf("%d%d",&n,&k); for(i=0;i { scanf("%d",a[i]); for(j=i-1;j>=0;j--) if(a[i]+a[j]==k) return true; } return false;}int main(){ if(f()) printf("yes\n"); else printf("no\n"); }
先排序,再从两头逼近