중화요리점
시간 제한1.5초메모리 제한512 MB
각 멤버가 원하는 요리가 주어질 때, K가 먹을 요리 k마다 나머지 멤버 모두가 식사할 수 있는 턴테이블 회전량의 최솟값을 구합니다.
문제
K 이사장을 포함한 정보올림피아드 일본위원회 위원 N명 전원이 중화요리점에 왔다.
중화요리점의 테이블은 원형이며, N개의 좌석이 등간격으로 놓여 있다. 가운데에는 요리를 올려 두는 회전판이 있다. N명의 위원은 N개의 좌석에 앉는다. K 이사장을 1번으로 하고, 거기서 반시계 방향으로 2, 3, ..., N번 위원을 매긴다. 위원회는 요리 N종류를 각각 1개씩 주문했고, 그 요리들이 회전판 위에 놓였다. 요리는 위원의 눈앞에 놓이며, 위원 i의 눈앞에 놓인 요리는 요리 i ()이다. K 이사장을 제외한 위원은 각자 먹고 싶은 요리가 하나씩 정해져 있으며, 위원 i ()가 먹고 싶은 요리는 이다.
회전판은 도 단위로 시계 방향과 반시계 방향 모두 돌릴 수 있다.
예를 들어 회전판을 반시계 방향으로 1단위 돌리면, K 이사장 앞에는 요리 N이, 위원 i () 앞에는 요리 이 온다.
어떤 위원이 어떤 요리를 먹으려면, 그 요리가 그 위원 앞에 올 때까지 회전판을 돌려야 한다.
정보올림피아드 일본위원회에서 K 이사장은 매우 존경받으므로, 처음에 K 이사장이 회전판을 돌려 요리 k ()가 자신의 앞에 오게 하고 그 요리를 먹는다.
K 이사장이 요리를 먹은 뒤, K 이사장을 제외한 위원들은 각자 먹고 싶은 요리가 앞에 오도록 회전판을 돌리고 그 요리를 먹는다. 이때 위원들이 회전판을 돌리는 순서는 어떤 순서든 상관없다.
또한 각 요리는 양이 충분하여 먹어서 없어지는 일은 없다.
K 이사장이 무엇을 먹더라도 대응할 수 있도록, 모든 위원이 요리를 먹을 수 있고 회전판을 돌리는 양의 합이 최소가 되도록, 각 k에 대해 K 이사장 이외의 위원이 회전판을 돌리는 순서와 방법을 미리 정해 두고 싶다.
각 위원 i ()가 먹고 싶은 요리 가 주어졌을 때, K 이사장이 먹는 요리 k ()마다 회전판을 돌리는 양의 합의 최솟값을 도를 1단위로 하여 구하라.
입력
표준 입력에서 다음 데이터를 읽는다.
첫 줄에 정수 N이 주어진다. 정보올림피아드 일본위원회의 인원수다.
이어지는 N - 1개의 줄 중 i번째 줄()에는 정수 가 주어진다. 이는 위원 i가 먹고 싶은 요리가 라는 뜻이다.
출력
N줄을 출력한다. k번째 줄()에는 K 이사장이 요리 k를 먹을 때 회전판을 돌리는 양의 합의 최솟값을 정수로 출력한다. 회전판을 돌리는 양은 도를 1단위로 한다.
제한
- : 정보올림피아드 일본위원회의 인원수
- : 위원 i가 먹고 싶은 요리