오션 뷰

호수에서 동쪽으로 남은 집 높이가 엄격히 커지도록 철거할 집을 최소로 정합니다.

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

문제

오션 뷰는 작은 호수 기슭에 자리 잡은 마을이다. 마을에는 길이 하나뿐이고, 이 길은 서쪽 호숫가에서 시작해 동쪽 언덕까지 이어진다. 마을의 집은 모두 이 길 한쪽에만 늘어서 있으며, 호숫가의 1번부터 언덕 아래의 NN번까지 차례로 번호가 붙어 있다.

주민은 모두 자기 집에서 호수를 보고 싶어 한다. 그런데 앞쪽 집이 뒤쪽 집의 시야를 막기도 한다. A<BA < B이면서 AA번 집의 높이가 BB번 집의 높이보다 크거나 같으면, AA번 집이 BB번 집의 시야를 막는다.

시야를 가린다는 불평에 지친 마을의 지배자는 집 몇 채를 부수기로 했다. 부순 뒤에 남은 집은 모두 호수를 볼 수 있어야 한다. 그렇다고 너무 많이 부수면 반란이 일어나므로, 부수는 집은 가능한 한 적어야 한다.

남은 집이 모두 호수를 볼 수 있게 하려면 최소 몇 채를 부숴야 하는지 구하라.

입력

첫째 줄에 테스트 케이스의 수 TT가 주어진다. 이어서 TT개의 테스트 케이스가 주어진다.

각 테스트 케이스는 두 줄이다. 첫째 줄에는 길가에 늘어선 집의 수 NN이 주어진다. 둘째 줄에는 서쪽에서 동쪽 순서로 각 집의 높이가 공백 하나로 구분되어 주어진다.

제한

  • 1T1001 \le T \le 100
  • 1N10001 \le N \le 1000
  • 각 집의 높이는 11 이상 10001000 이하의 정수이다.

출력

각 테스트 케이스마다 Case #x: y 형식으로 한 줄씩 출력한다. xx는 1부터 시작하는 테스트 케이스 번호이고, yy는 부숴야 하는 집의 최소 개수이다.

힌트

예제의 첫 번째 테스트 케이스는 답을 얻는 방법이 여러 가지다. 1번 집을 남기고 나머지 세 채 가운데 두 채를 부수면 된다. 가장 높은 집 하나만 부수는 것으로는 부족하다. 3번 집이 4번 집의 시야를 계속 막기 때문이다.

두 번째 테스트 케이스는 한 채도 부술 필요가 없다. 이미 모든 주민이 호수를 본다.

세 번째 테스트 케이스는 한 채만 남기고 모두 부숴야 한다. 어느 집을 남기든 결과는 같다.

네 번째 테스트 케이스에서 시야가 없다고 불평하는 주민은 가장 낮은 집에 사는 한 명뿐이다. 그 집 서쪽의 세 채를 부술 수도 있지만, 그 집 한 채만 부수는 편이 낫다.