페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#5331

메일 보관함 (Email Filing) 2초 256MB

문제

재우는 받은 편지함을 정리하려 합니다. 

그의 화면의 왼쪽에는 폴더 목록이 있고 화면 오른쪽에는 받은 편지함에 들어있는 이메일 목록이 있는 방식으로 배치되어 있습니다.

자세하게는 1…M(1≤M≤104)으로 번호가 매겨진 M개의 폴더가 있고, 받은 편지함에는 1…N(1≤N≤105)으로 번호가 지정된 N개의 이메일이 있습니다. 

이 중 i번째 이메일은 폴더 fi(1≤fi≤M)에 보관해야 합니다.

 

재우는​ 화면이 좀 작아서 K(1≤K≤min(N,M))개의 폴더와 K개의 이메일만 동시에 볼 수 있습니다. 

처음에 그의 화면에는 왼쪽에 폴더 1…K가 표시되고 오른쪽에 이메일 1…K가 표시되는데, 다른 폴더와 이메일에 액세스하려면 해당 목록을 스크롤해야 합니다. 

예를 들어 폴더 목록을 한 위치 아래로 스크롤하면 화면에 폴더 2...K+1이 표시되고 다시 한 위치 아래로 스크롤하면 폴더 3...K+2가 표시됩니다. 

 

재우가 이메일을 폴더로 드래그하면 이메일 목록에서 이메일이 사라지고, 사라진 이메일 아래의 이메일은 한 단계 위로 이동합니다. 

예를 들어, 이메일 1,2,3,4,5가 현재 표시되어 있고 재우가 이메일 3을 폴더로 드래그하면 이메일 목록에 이제 이메일 1,2,4,5,6이 표시됩니다. 재우는 이메일을 보관하려는 폴더로만 끌어다 놓을 수 있습니다.

 

불행히도 재우의 마우스 휠이 고장나서 위로 스크롤할 수 없고 아래로만 스크롤할 수 있습니다. 

재우가 스크롤 업을 할 수 있는 유일한 방법은 이메일 목록에서 마지막 K개의 이메일을 보고 있는 상태에서 그 중 하나를 보관하는 경우입니다. 이 경우 이메일 목록은 아직 보관되지 않은 마지막 K개의 이메일을 계속 표시하여 최상위 이메일을 한 단계 위로 스크롤합니다. 

K개 미만의 이메일이 남아 있으면 모든 이메일이 표시됩니다.

 

재우가 모든 이메일을 보관할 수 있는지 결정하도록 도와주세요.​


입력

첫 번째 줄에는 테스트 케이스의 수인 T(1≤T≤10)가 입력됩니다.

T번 만큼의 테스트 케이스는 각각 첫 번째 줄에는 M, N 및 K가 입력되고, 두 번째 줄에는 f1…fN이 입력됩니다.

입력은 모든 하위 테스트 케이스에 대한 M의 합이 104를 초과하지 않고 모든 하위 테스트 케이스에 대한 N의 합이 105를 초과하지 않도록 보장합니다.​


출력

재우가 각 T개의 테스트 케이스에 대해 모든 이메일을 성공적으로 보관할 수 있는지 여부를 YES 또는 NO로 출력하시오.


예제1

입력
6

5 5 1
1 2 3 4 5
5 5 1
1 2 3 5 4
5 5 1
1 2 4 5 3
5 5 2
1 2 4 5 3
3 10 2
1 3 2 1 3 2 1 3 2 1
3 10 1
1 3 2 1 3 2 1 3 2 1
출력
YES

YES
NO
YES
YES
NO

출처

USACO 2022 February Silver

역링크 공식 문제집만