0 #3193. 生日礼物 (bday)

生日礼物 (bday)

题目描述

小林有两张购物券,面额分别为 AABB,要买 NN 件礼物,礼物总价恰好等于 A+BA+B。每件礼物只能用一张券支付,且每张券购买的物品总价必须恰好等于该券面额。请判断是否存在这样的分配方案。

由于总价 =A+B=A+B,只要能从 NN 件礼物中选出一个子集,其价格之和恰好等于 AA(剩下的自然等于 BB),方案即存在。因此本题等价于子集和判定:能否选出若干件礼物,价格之和恰好为给定的目标值。

输入格式

多组数据,读到文件结束为止。

每组数据第一行为两个整数 NNSSNN 为礼物件数,SS 为其中一张券的面额(即需要凑出的目标金额)。

第二行为 NN 个整数,表示每件礼物的价格。

输出格式

对每组数据输出一行:若能选出价格和恰为 SS 的子集,输出 YES,否则输出 NO

输入样例

5 6
2 3 7 4 1
4 25
10 20 30 40

输出样例

YES
NO

数据范围

1N401 \le N \le 40,礼物价格与 SS 均为正整数。