SUPER HEROES WAR

View as PDF

Submit solution

Points: 100
Time limit: 1.0s
Memory limit: 256M

Author:
Problem type

문제

[출처: Hero Wars: Alliance]

현석이는 모종의 사건으로 이세계 전생을 하게 되었다. 이세계의 부름을 받게 된 현석이는 마왕을 쓰러뜨리고 세계를 구하는 막대한 임무를 맡게 되었다!

이세계에는 마왕을 포함하여 총 \(N\)마리의 몬스터가 있으며, 각각 \(1\)번부터 \(N\)번까지 번호가 매겨져 있다. \(i(1\le i\le N)\)번 몬스터의 레벨은 \(a_i\)이다. 레벨이 가장 높은 몬스터가 마왕이고, 마왕은 유일하다.

현석이의 초기 레벨은 \(K\)인데, 각 몬스터와 정확히 한 번씩 전투를 벌일 수 있다.

전투의 규칙은 다음과 같다.

  1. 현석이가 쓰러지지 않은 몬스터 중 하나와 전투를 벌인다.
  2. 현석이의 레벨이 몬스터보다 높을 경우, 몬스터를 쓰러뜨리고 몬스터의 레벨만큼 현석이의 레벨이 증가한다.
  3. 현석이의 레벨이 몬스터보다 낮을 경우, 현석이는 쓰러지고 더 이상 싸울 수 없다.
  4. 현석이와 몬스터의 레벨이 같은 경우, 둘은 같이 쓰러지게 되고 현석이는 더 이상 싸울 수 없다.

몬스터와의 전투 순서를 적절하게 조율할 수 있을 때, 현석이가 마왕을 쓰러뜨릴 수 있을지 판단하는 프로그램을 작성해 보자.

입력

첫째 줄에 테스트 케이스의 개수 \(T(1\le T\le 10\,000)\)가 주어진다.

각 테스트 케이스의 첫째 줄에 \(N(1\le N \le 200\,000)\)과 \(K(1\le K \le 10\,000)\)가 주어진다.

둘째 줄에 \(a_1, a_2, \cdots, a_N(1\le a_i \le 2\,000\,000\,000)\)가 주어진다.

\(\max(a_1, a_2, \cdots, a_N)\)는 \(a_1, a_2, \cdots\, a_N\)에서 유일함이 보장되며, 모든 테스트 케이스에서 \(N\)의 합은 \(200\,000\)을 초과하지 않는다.

출력

각 테스트 케이스마다 현석이가 마왕을 쓰러뜨릴 수 있다면 YES 를, 그렇지 않다면 NO 를 출력한다. 모두 대문자로 출력해야하는 것에 유의한다.

예제 입력 1

3
4 100
1 2 3 1
5 2
6 1 1 1 1
5 3
1 1 2000000000 1 1

예제 출력 1

YES
YES
NO

Comments

There are no comments at the moment.