소들의 단체 사진
시간 제한1초메모리 제한128 MB
1부터 N까지의 순열이 주어질 때, 어떤 소 s에서 시작하는 1..N의 회전 수열로 만들기 위해 필요한 인접 교환의 최솟값을 모든 s에 대해 구한다.
문제
농부 존은 자신의 소 마리()를 한 줄로 세워 단체 사진을 찍으려고 한다. 소들에게는 부터 까지 번호가 붙어 있다.
소들은 처음에 임의의 순서로 한 줄로 서며, 왼쪽에서 번째 자리에는 번호가 인 소가 서 있다(). 마리의 소는 모두 서로 다른 번호를 가지므로 은 의 순열이다.
존은 사진이 보기 좋으려면 모든 소 의 바로 오른쪽에 소 이 서야 하고(), 소 의 바로 오른쪽에는 소 이 서야 한다고 생각한다. 즉, 줄을 왼쪽에서 오른쪽으로 읽었을 때 어떤 시작 소 에 대해 순서가 되어야 한다. 맨 왼쪽 소의 왼쪽에는 아무 소도 없으므로 맨 왼쪽 소에는 제약이 없다. 이런 줄을 올바른 배치라고 하자.
소들이 사진 촬영 후의 저녁을 얼른 먹고 싶어 하므로, 존은 사진을 최대한 빨리 찍으려 한다. 소들은 지시를 잘 따르지 못해서, 존은 분에 한 번씩 서로 인접한 두 소를 골라 자리를 맞바꿀 수 있다. 올바른 배치를 만들기 위해 필요한 최소 시간(분)을 구하여라.
예를 들어 마리의 소가 처음에 순서로 서 있다고 하자. 먼저 와 를 맞바꾸면 이 되고, 다시 맨 오른쪽의 와 을 맞바꾸면 가 되어 올바른 배치가 된다. 이때 필요한 시간은 분이다.
입력
- 첫째 줄: 정수 .
- 둘째 줄부터 번째 줄까지: 번째 줄에는 왼쪽에서 번째 자리에 선 소의 번호 가 주어진다.
출력
첫째 줄에 올바른 배치를 만들기 위해 농부 존에게 필요한 최소 시간(분)을 출력한다.