View Code of Problem 3686

#include <iostream>
#include <string>
#include <algorithm>
using namespace std;

int main() {
	int t;
	cin >>t;
	while(t--){
		int n,x;
		cin >>n>>x;
		int a[n];
		for(int i=0;i<n;i++){
			cin >>a[i];
		}
		sort(a,a+n);
		for(int i=0;i<n;i++)
			cout << a[i] <<endl;
		
		int k=n;
		for(int i=0;i<n;i++){
			if(a[i]>=x){
				k=i;
			}
		}
		int i,j;
		for(i=0,j=k-1;i<j;){
			if(a[i]+a[j]>x){
				j--;
			}
			else if(a[i]+a[j]<x){
				i++;
			}
			else{
				cout <<"YES"<<endl;
				break;
			}
		}
		if(i==j){
			cout <<"NO"<<endl;
		}
		
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 3686