카드뽑기 (Small) [0556 / 022C] 
Time Limit(Test case) : 1000(ms)Number of users who solved : 320 Total Tried : 943
The Champion of this Problem (C++) : gs15021 - ms / 400byte
My Best Submission (C++) : N/A
[]
Background
경곽이는 N장의 서로 다른 숫자가 적힌 카드가 들어있는 상자에서 원하는 카드를 뽑았다.카드에 적힌 숫자가 바로 경곽이가 얻은 점수이다.
다시 그 카드를 집어넣고 다시 다른 숫자를 뽑는다.
이러한 과정을 4번 반복하여 총 4회의 점수를 얻을 수 있다.
4번의 점수 합계가 M점이 될 수 있다면 경곽이는 게임에서 이긴다.
하지만 M점이 될 수 없다면 경곽이는 지게 된다.
N장의 카드가 주어질 때, 이 게임에서 경곽이가 이길 수 있다면 YES를 도저히 이길 수 없는 카드배치라면 NO를 출력하는 프로그램을 만드시오.
Input
입력은 첫 번째 줄에 N과 M이 공백으로 구분되어 입력된다.다음 줄에 N개의 서로 다른 정수가 오름차순으로 공백으로 구분되어 입력된다.
* N은 70이하의 정수이다.
* M은 100,000,000이하의 자연수이다.
Output
이길 수 있다면 YES를 아니면 NO를 출력한다.IO Example
입력3 10
1 3 5
출력
YES
입력2
3 9
1 3 5
출력
NO
* 첫 번째 경우는 1, 3, 3, 3을 뽑으면 10을 만들 수 있으므로 YES, 두 번째 경우는 어떤 카드를 4번 뽑아도 9를 만들 수 없으므로 NO를 출력
Prob Analysis : [Problem Statistics] | [Solution]