주식 매수 계획

각 테스트 케이스마다 일별 주가 수열에 길이가 K인 엄격한 증가 부분 수열이 있는지 판정합니다.

보통4동적 계획법이분 탐색면접 대비아직 제출이 없습니다시간 제한5초메모리 제한512 MB

문제

어느 날 출근길에 지하철역 쓰레기통에서 이상한 문서를 주웠다. 어느 회사의 주가가 날짜별로 적혀 있었는데, 모두 앞으로의 날짜였다. 설마 하는 마음으로 실제 주가와 맞춰 보니 문서에 적힌 값이 그대로 들어맞았다. 미래에서 타임머신을 타고 온 후손이 선조를 도우려고 보낸 것일지도 모른다.

앞으로 NN일간의 주가가 NN개의 정수로 주어진다. 지금까지 주식을 거래한 적이 없어서 증권회사에 가서 거래를 시작하기로 했다. 미래를 알고 거래한다는 의심을 사지 않으려고 주식은 모두 KK번만 사기로 했다. 하루에 한 번만 살 수 있으므로 주식을 사는 날은 서로 다른 KK일이다.

의심을 더 줄이려고, 맨 처음 산 날을 빼면 바로 직전에 산 날의 주가보다 오른 날에만 사기로 했다. 예를 들어 10일간의 주가가 다음 표와 같다고 하자.

날짜12345678910
주가10050709075871057811060

K=3K = 3이면 2일, 3일, 4일에 사면 주가가 50, 70, 90이므로 조건을 만족한다. K=6K = 6이면 2일, 3일, 5일, 6일, 7일, 9일에 사면 주가가 50, 70, 75, 87, 105, 110이므로 조건을 만족한다. K=10K = 10이면 조건을 만족하는 방법이 없다.

NNKK, 그리고 NN일간의 주가가 주어졌을 때 조건을 만족하도록 주식을 살 수 있는지 판정하는 프로그램을 작성하시오.

입력

첫째 줄에 테스트 케이스의 개수 TT (2T1002 \le T \le 100)가 주어진다. 이어서 TT개의 테스트 케이스가 차례로 주어진다.

각 테스트 케이스의 첫 줄에는 두 정수 NNKK가 주어진다. NN은 주가를 미리 알고 있는 날의 수이고 (1N100001 \le N \le 10000), KK는 주식을 사는 횟수다 (1K100001 \le K \le 10000). 다음 줄에는 NN일간의 주가가 날짜 순서대로 공백을 사이에 두고 주어진다. 주가는 1 이상 10000 이하의 정수다.

출력

각 테스트 케이스마다 두 줄을 출력한다.

첫 줄에는 Case #t를 출력한다. tt는 테스트 케이스 번호이며 1부터 센다. 둘째 줄에는 조건을 만족하도록 주식을 살 수 있으면 1을, 없으면 0을 출력한다.