오션 뷰 (스몰)

호수 쪽부터 남은 집 높이가 한 집씩 커지도록 철거할 집을 가장 적게 고릅니다.

쉬움3완전 탐색배열면접 대비아직 제출이 없습니다시간 제한5초메모리 제한512 MB

문제

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

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

마을의 통치자는 남아 있는 집이 모두 호수를 볼 수 있도록 집 몇 채를 부수기로 했다. 다만 너무 많이 부수면 주민의 반발이 크므로, 부수는 집의 수를 최소로 하려고 한다.

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

입력

첫 줄에 테스트 케이스의 수 TT가 주어진다. 이어서 TT개의 테스트 케이스가 주어지며, 각 테스트 케이스는 두 줄이다. 첫 줄에는 집의 수 NN이 주어지고, 다음 줄에는 서쪽부터 동쪽 순서로 각 집의 높이가 공백 하나로 구분되어 주어진다.

제한

  • 1T1001 \le T \le 100
  • 1N501 \le N \le 50
  • 각 집의 높이는 11 이상 10001000 이하의 정수이다.
  • 답은 항상 44 이하이다.

출력

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

힌트

예제의 첫 번째 케이스는 답을 만드는 방법이 여러 가지다. 1번 집을 남기고 나머지 세 채 중 아무 두 채나 부수면 된다. 가장 높은 집 하나만 부수는 것으로는 부족한데, 3번 집이 여전히 4번 집의 시야를 가리기 때문이다.

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

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

네 번째 케이스에서는 가장 낮은 집의 주민만 호수를 보지 못한다. 그 서쪽에 있는 세 채를 부수어도 되지만, 그 집 한 채만 부수는 편이 더 낫다.