题目描述
小林的朋友苏苏要过生日,正好小林有两张价值不菲的商场购物券,所以他决定买N件礼物送给苏苏。小林选好了N件礼物,并且它们的价格之和恰好为两张购物券的面额之和。当小林去结账时,突然发现商场对购物券的使用有非常严格的规定:一次只允许使用一-张、不找零不与现金混用。小林身上根本没有现金,并且他不愿意放弃挑选好的礼物。这就意味着,他只能通过这两张购物券结账,而且每一张购物券所购买的物品的总价格,必须精确地等于这张购物券的面额。
怎样才能顺利地买回这N件礼物呢?本题的任务就是帮助小林确定是否存在一个购买方案。现已知其中一张购物 券的面额以及所有商品的价格,只需要确定能否找到一种方案使得选出来的物品的价格总和正好是这张购物券的面额即可。
输入
输入多组数据。
每组数据的第一行为两个正整数N和M,分别表示一共挑选了 N件物品以及一张购物券的面额为M。接下来一行,有 N个用空格隔开的正整数第i个数表示第i个物品的价格。
输出
输出若干行,每一行一个单词“YES”或者“NO',分别代表存在一个购买方案或者不存在一个购买方案。
10 2000
1000 100 200 300 400 500 700 600 900 800
10 2290
1000 100 200 300 400 500 700 600 900 800
提示
【数据规模】
对于30%的数据,N≤20。 对于100%的数据,N≤40,并且M和物品总和不超过231-1,测试数据不超过10组,不少于5组。