文理学院程序设计在线练习


简单24

Time Limit: 1 Second(s)    Memory Limit: 32 MB

Total Submission(s): 121   Accepted Submission(s): 25
Problem Description

小明真是个数学迷,就在他还在上幼儿园的时候,就经常玩类似24点那样的游戏,只不过由于当时他年纪太小,只会进行加法运算。当时的规则是:给他若干张扑克牌(至少四张),让他从中选择四张牌,要求这四张牌的总和恰好等于24点。

现在小明学会用电脑编程了,他知道用计算机来解决上面这样的问题应该是件简单的事情。

所以,他想考考你,看看你作为大学生是否一样能够轻松搞定。

这里给你的问题稍稍做一些改动:给定n个正整数,再给定一个目标值m,要求从给定的n个数中挑选4个数,使得这4个数之和恰好等于目标值m。注意,每个数最多只能用一次。

Input

输入数据首先包含一个整数T,表示有T组测试数据。(1<=T<=20)
每组测试包括2行,第一行是2个整数n和m,其中4<=n<=500,1<=m<=40000,分别代表给定的n个数以及目标值,第二行是n个整数,这n个整数的范围在[1,10000]之间。数据之间均用空格分隔。

Output

对于每组测试数据,你只需作出判断,对于有解的测试请输出"Yes",对于无解的测试请输出"No".

Sample Input
3
5 10
1 3 5 7 9
6 120
20 40 60 80 10 30
9 24
999 888 777 666 6 6 6 9 6
Sample Output
No
Yes
Yes
Author

flx

Source

数理信息学院首届程序设计竞赛2011/06/11