生日

提交数: 64, 通过率: 17.19%, 平均分: 37.03

题目描述:

小y今天很高兴,因为他的好朋友苹果要过生日了,由于今天小y得到了两张价值不菲的SHOP购物券,所以他决定买N件礼物送给苹果。

一个下午过去了,小y选好了N件礼物,并且它们的价格之和恰好为两张购物券的面额之和。当小y被自己的聪明所折服,高兴地去结账时,他突然发现SHOP对购物券的使用有非常严格的规定:一次只允许使用一张,不找零,不与现金混用。小y身上根本没有现金,并且他不愿意放弃挑选好的礼物。这就意味着,他只能通过这两张购物券结账,,而且每一张购物券所购买的物品的总价格,必须精确地等于这张购物券的面额。

怎样才能顺利地买回这N件礼物送给苹果呢?本题的任务是帮助小y确定是否存在一个购买方案。已知其中一张购物券的面额以及所有商品的价格,只需要确定能否找到一种方案使得选出来的物品价格总和正好是这张购物券的面额即可。

输入格式:

有多组测试数据。每组数据的第一行为两个正整数N和M,分别表示小y一共挑选了N个物品送给苹果以及小y的一张购物券的面额为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

样例输出:

YES
NO

提示:

30%,N<=20.

100%,N<=40,并且M和物品的总价值不超过231-1,测试级数不超过10组,不少于5组。

时间限制: 1000ms
空间限制: 256MB