생일
시간 제한2초메모리 제한64 MB
어린이들이 원탁에 1번부터 n번까지 차례로 앉아 있고, 주어진 순환 순서로 자리를 바꿀 때 한 명이 원을 따라 이동하는 최대 거리를 최소화한다.
문제
오늘은 바이트만(Byteman)의 생일입니다. 생일 파티에는 바이트만을 포함해 명의 아이들이 있으며, 번부터 번까지 번호가 매겨져 있습니다. 부모님은 큰 원탁과 그 둘레에 놓인 개의 의자를 준비했습니다.
아이들은 차례대로 앉습니다. 번 아이가 아무 자리에나 앉고, 번 아이는 그 왼쪽 자리에, 번 아이는 다시 그 왼쪽 자리에 앉는 식으로 이어집니다. 마지막으로 번 아이가 번과 번 사이에 남은 자리에 앉습니다.
어떤 아이들은 특정한 아이와 너무 가까이 앉으면 시끄러워지기 때문에, 부모님은 순열 (부터 까지의 서로 다른 정수)으로 주어지는 특정한 원형 순서로 아이들을 다시 앉히려고 합니다. 즉, 번 아이는 번과 번 사이에, 번 아이()는 번과 번 사이에, 번 아이는 번과 번 사이에 앉아야 합니다. 번 아이는 번의 왼쪽에 앉을 수도 있고 오른쪽에 앉을 수도 있습니다. 즉 이 원형 순서는 두 회전 방향 중 어느 쪽으로도 실현될 수 있습니다.
원하는 순서를 만들기 위해 각 아이는 원탁을 따라 왼쪽 또는 오른쪽으로 몇 칸 이동합니다. 부모님은 아이마다 이동 방향과 거리(옮기는 자리 수)를 정합니다. 신호가 울리면 모든 아이가 동시에 일어나 새 자리로 이동해 앉습니다.
한 번의 재배치에서 혼란도(mess) 는 어떤 한 아이가 이동한 자리 수의 최댓값입니다. 원하는 원형 순서를 만드는 모든 재배치 중에서, 부모님은 혼란도가 가장 작은 방법을 찾고자 합니다.
과 목표 순열을 읽어 가능한 최소 혼란도를 출력하는 프로그램을 작성하세요.
입력
첫째 줄에 정수 ()이 주어집니다.
둘째 줄에 아이들의 원하는 원형 순서를 나타내는 개의 정수 이 공백 하나로 구분되어 주어집니다. 이 수들은 의 순열입니다.
출력
가능한 최소 혼란도를 정수 하나로 출력합니다.
힌트

이고 목표 순서가 인 경우입니다. 왼쪽 그림은 처음 배치를 보여 줍니다. 한 가지 최적 재배치(가운데 그림)에서는 번과 번 아이가 한 칸, 번과 번 아이가 두 칸 이동하고, 번과 번 아이는 제자리에 있습니다. 이때 요구되는 순서가 성립합니다. 은 과 사이, 는 과 사이, 는 와 사이, 은 와 사이, 는 과 사이, 은 와 사이에 있습니다. 오른쪽 그림은 또 다른 최적 배치입니다. 두 경우 모두 어떤 아이도 두 칸을 넘게 이동하지 않으므로 최소 혼란도는 입니다.