#1158. 两数之和

两数之和

题目描述

给定一个包含 nn 个整数的数组,以及 qq 次询问。

每次询问给出一个整数 SS,判断是否存在数组中的两个数(可以是同一个数,即自己和自己相加),使得它们的和等于 SS 。

输入格式

第一行包含两个整数 nn 和 qq,分别表示数组的大小和询问的次数。

第二行包含 nn 个整数,表示数组中的元素。

接下来 qq 行,每行包含一个整数 SS,表示每次询问的目标和。

输出格式

对于每个询问,如果存在两个数(可以是同一个数)的和等于 SS,则输出 yes,否则输出 no。

样例

5 3
1 2 3 4 5
5
11
2
yes
no
yes

样例1解释

第一次询问 S=5S=5,数组中存在两个数 11 和 44,它们的和为 55,输出 yes。

第二次询问 S=11S=11,数组中不存在两个数的和为 1111,输出 no。

第三次询问 S=2S=2,数组中存在两个数 11 和 11(同一个数),它们的和为 22,输出 yes。

数据范围

对于 30%30\% 的数据,1≤n≤10001 \le n \le 1000,1≤q≤51 \le q \le 5, 0≤0 ≤ 数组中的元素 ≤1000≤ 1000,0≤S≤20000 ≤ S ≤ 2000。。

对于 100%100\% 的数据,1≤n≤1051 \le n \le 10^5,1≤q≤1051 \le q \le 10^5, 0≤0 ≤ 数组中的元素 ≤3000≤ 3000,0≤S≤60000 ≤ S ≤ 6000。