#include<iostream> //本题用万能头会报错,也不知为何 #include<algorithm> using namespace std; int main(){ int T; scanf("%d",&T); while(T--) { int n, x; scanf("%d %d", &n, &x); int arr[n]; for(int i=0; i<n; i++){ scanf("%d",&arr[i]); } sort(arr, arr+n); //快速排序 int flag = 0; int low = 0, high = n-1; while(low < high) { if(arr[low] + arr[high] == x){ printf("YES\n"); flag=1; break; } else if(arr[low] + arr[high] < x){ low++; } else high--; } if(flag==0){ printf("NO\n"); } } return 0; } |
Double click to view unformatted code.