만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

여섯 자리 문서

면접 대비

시간 제한2초메모리 제한1024 MB

요약
여섯 자리 식별자 n개가 주어질 때, 자릿수별 역전 쌍의 합이 가장 작아지는 순환 이동을 찾는 문제입니다.
난이도

보통10점 중 5점

유형
배열, 누적 합, 구현
정답자
아직 제출이 없습니다

문제

회계 담당자 발레리는 회계 보고서의 불일치를 확인하고 있다. 그는 정확히 nn개의 문서를 확인해야 한다. ii번째 문서는 6자리 정수 식별자 a_ia\_i로 사내 네트워크에서 열람할 수 있다.

kk번째 자리의 역전은 i<ji < j이고 a_ia\_i의 kk번째 자리 숫자가 a_ja\_j의 kk번째 자리 숫자보다 엄격하게 큰 인덱스 쌍 ii, jj를 말한다. 6자리 수 배열 {a_i}\{a\_i\}의 복잡도는 여섯 자리 모두에서 센 역전의 총합이다.

발레리는 식별자의 복잡도가 낮을수록 주소창에 입력하는 시간이 줄어든다는 것을 알고 있다. 문서 집합은 고정되어 있고, 순서를 임의로 바꾸면 실수로 문서를 빠뜨릴 위험이 있다. 그가 허용된 변경은 순서를 여러 칸 순환 이동하는 것뿐이다. 배열 a_1,a_2,…,a_na\_1, a\_2, \ldots, a\_n을 왼쪽으로 tt칸 순환 이동한 배열은 a_t+1,a_t+2,…,a_n,a_1,a_2,…,a_ta\_{t+1}, a\_{t+2}, \ldots, a\_n, a\_1, a\_2, \ldots, a\_t이다.

발레리가 원래 배열의 순환 이동 중 복잡도가 가장 낮은 것을 고르도록 도와라.

입력

첫 줄에 확인할 문서의 수 nn이 주어진다 (1⩽n⩽100 0001 \leqslant n \leqslant 100\,000). 이어지는 nn개의 줄에는 식별자 a_ia\_i를 나타내는 6자리 숫자가 한 줄에 하나씩 주어진다. 모든 a_ia\_i는 서로 다르다. 식별자는 0으로 시작할 수 있다.

출력

식별자 배열의 모든 순환 이동 중 가장 작은 복잡도를 정수 하나로 출력한다.

힌트

첫 번째 테스트에서는 왼쪽으로 한 칸 이동하면 177013이 맨 앞에 와서 유리하다. 이때 앞의 네 자리에는 역전이 각각 1개씩 있고, 마지막 두 자리에는 역전이 없다.

두 번째 테스트에서는 순서가 이미 최적이며 역전은 3개이다. 첫 번째, 네 번째, 여섯 번째 자리에서 각각 1개씩이다.

예제2

  1. 예제 1

    입력
    3
    277659
    177013
    314836
    
    예상 출력
    4
    
  2. 예제 2

    입력
    3
    250401
    185217
    296632
    
    예상 출력
    3