아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

줄다리기

면접 대비

시간 제한1초메모리 제한128 MB

요약
학생 N명(4명에서 30명)의 몸무게를 두 팀으로 나누어 힘의 차이가 X 이하가 되는지 판정합니다.
난이도

보통10점 중 5점

유형
동적 계획법
정답자
아직 제출이 없습니다

문제

필승대학교 전산학과가 가을 체육대회를 준비한다. 마지막 종목은 줄다리기다. 학과의 단합과 재미를 위해, 맞붙는 두 팀의 전력이 비슷해지도록 학생을 나누기로 했다. 한 팀의 전력은 그 팀에 속한 학생의 몸무게 합이다.

NN명의 학생을 두 팀으로 나누어 두 팀의 전력 차이를 XX 이하로 만들 수 있는지 판정하는 프로그램을 작성하라. 두 팀의 인원수는 같지 않아도 된다.

입력

입력은 표준 입력으로 주어진다. 첫째 줄에 테스트 케이스의 개수 TT(1≤T≤101 \le T \le 10)가 주어진다.

각 테스트 케이스는 세 줄이다. 첫째 줄에 학생 수 NN(4≤N≤304 \le N \le 30), 둘째 줄에 정수 XX(X≥0X \ge 0), 셋째 줄에 학생 NN명의 몸무게가 공백으로 구분되어 주어진다. 몸무게는 4040 이상 160160 이하의 정수다.

출력

답은 표준 출력으로 내보낸다. 각 테스트 케이스마다, 두 팀의 전력 차이가 XX 이하가 되도록 NN명을 두 팀으로 나눌 수 있으면 YES를, 나눌 수 없으면 NO를 한 줄에 하나씩 출력한다.

예제1

  1. 예제 1

    입력
    3
    4
    10
    51 74 52 73
    6
    5
    58 69 44 59 70 47
    5
    10
    78 127 131 49 81
    
    예상 출력
    YES
    YES
    NO