#P0978. 购物清单配对

购物清单配对

题目背景

学校义卖活动开始前,负责采购的同学整理了一张购物清单。清单上共有 nn 种商品,每种商品都有一个整数价格。

活动中会不断有人提出一个目标金额,想知道能不能选出两件商品,价格刚好凑成这个金额。

题目描述

给定 nn 个商品价格和 qq 次询问。每次询问给出一个整数 SS,请判断是否存在两个商品价格之和等于 SS。

两次选择可以指向同一种商品,也就是说允许用同一个价格和自己相加。

输入格式

第一行包含两个整数 nn 和 qq,分别表示商品数量和询问次数。

第二行包含 nn 个整数,表示每种商品的价格。

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

输出格式

对于每个询问,如果可以凑出目标金额,输出 yes,否则输出 no。

样例

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

提示

样例解释

第一次询问 S=5S=5,可以选择价格为 11 和 44 的商品。

第二次询问 S=11S=11,没有办法凑出。

第三次询问 S=2S=2,可以让价格为 11 的商品和自己配对。

数据范围

对于 30%30\% 的数据,1≤n≤10001 \le n \le 1000,1≤q≤51 \le q \le 5,0≤0 \le 商品价格 ≤1000\le 1000,0≤S≤20000 \le S \le 2000。

对于 100%100\% 的数据,1≤n≤1051 \le n \le 10^5,1≤q≤1051 \le q \le 10^5,0≤0 \le 商品价格 ≤3000\le 3000,0≤S≤60000 \le S \le 6000。