View Code of Problem 133

#include<bits/stdc++.h>
using namespace std;
int t,n,x;
int main(){
    cin>>t;
    while(t--){
        int a[100010],flag=0;
        cin>>n>>x;
        for(int i=0;i<n;i++)
            cin>>a[i];
        sort(a,a+n);
      
        int i=0,j=n-1;
        while(i<j){
            if(a[i]+a[j]>x)
                j--;
            else if(a[i]+a[j]<x)
                i++;
            else if(a[i]+a[j]==x){
                flag=1;
                break;
            }
        }
        if(flag==1)
            cout<<"YES"<<endl;
        else
            cout<<"NO"<<endl;
    }
    return 0;
}

Double click to view unformatted code.


Back to problem 133