View Code of Problem 3686

#include <iostream>
#include <algorithm>
using namespace std;
int main() {
	int t;
	cin >> t;
	while (t--) {
		int n, money;
		cin >> n >> money;
		int a[1000] = { 0 };
		for (int i = 0;i < n;i++)
			cin >> a[i];
		sort(a, a + n);
		int p = 0, q = n-1, flag = 0;
		while (p < q) {
			if (a[p] + a[q] == money) {
				flag = 1;
				break;
			}
			else if (a[p] + a[q] > money) {
				q--;
			}
			else if (a[p] + a[q] < money){
				p++;
			}
		}
		if (flag == 0)cout << "No";
		else cout << "Yes";
		if (t != 0)cout << endl;
	}
}

Double click to view unformatted code.


Back to problem 3686