오르내림 수열 만들기
면접 대비시간 제한5초메모리 제한512 MB
서로 다른 수들을 한 봉우리까지 올랐다가 내려오는 순서로 만드는 데 필요한 인접 교환 최소 횟수를 구합니다.
문제
서로 다른 정수 개로 이루어진 수열 이 주어진다. 이 수열을 오르내림 수열로 바꾸려고 한다. 오르내림 수열은 어떤 인덱스 ()에 대해 을 만족하는 수열이다. 즉 앞에서부터 어느 지점까지 계속 커지다가, 그 뒤로는 계속 작아진다.
수열을 바꿀 때 쓸 수 있는 연산은 하나뿐이다. 인접한 두 원소를 교환할 수 있다. 오르내림 수열을 만드는 데 필요한 교환 횟수의 최솟값을 구하여라.
입력
첫째 줄에 테스트 케이스의 개수 가 주어진다. 이어서 개의 테스트 케이스가 주어진다. 각 테스트 케이스의 첫째 줄에는 정수 이 주어지고, 둘째 줄에는 서로 다른 정수 이 공백으로 구분되어 주어진다.
제한
- 는 모두 서로 다르다.
출력
각 테스트 케이스마다 Case #x: y 형식으로 한 줄씩 출력한다. 는 1부터 시작하는 테스트 케이스 번호이고, 는 를 오르내림 수열로 바꾸는 데 필요한 인접 교환 횟수의 최솟값이다.
힌트
첫 번째 예제의 첫 케이스는 이미 오르내림 수열이므로 () 교환이 필요 없다. 둘째 케이스에서는 3과 7을 교환하면 1 8 10 7 3이 되고, 이는 인 오르내림 수열이다.