만드는 중입니다

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

깃발 회전

면접 대비

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

요약
n개의 줄무늬 색이 주어질 때, 행으로 칠한 깃발을 반시계 방향으로 90도 돌린 깃발로 바꾸려면 칸을 몇 개 다시 칠해야 하는지 구합니다.
난이도

쉬움10점 중 3점

유형
해시맵, 배열
정답자
아직 제출이 없습니다

문제

국기에는 흔히 세 줄 무늬가 쓰인다. 어떤 깃발은 줄무늬의 색과 순서가 완전히 같은데 90도 회전해 있을 뿐이다. 색 순서를 하나 정하면, 정사각형 격자의 각 행을 그 순서대로 칠해 깃발을 만들 수 있다. 같은 방식으로 각 열을 그 순서대로 칠하면 90도 회전한 것과 비슷한 깃발이 된다.

깃발 제작 회의를 준비하던 중, 한 깃발을 반시계 방향으로 90도 돌려 놓았어야 했는데 잘못 만들어졌다는 것을 알게 되었다. 정사각형 캔버스는 벽에 강력 접착제로 붙어 있어서 떼어서 돌릴 수 없다. 그래서 한 깃발을 다른 깃발로 바꾸는 데 얼마나 많은 작업이 드는지 알고 싶다. 1초에 1×11 \times 1 칸 하나를 임의의 색으로 다시 칠할 수 있다. 깃발을 다시 칠하는 데 필요한 최소 시간(초)은 얼마인가? 첫 번째 예제 입력의 깃발(그림 F.1)은 34칸을 다시 칠해야 한다.

그림 F.1: 첫 번째 예제 입력에 대응하는 두 깃발. 색 1은 노랑, 2는 빨강, 3은 흰색, 1000은 파랑이다. 캔버스를 실제로 돌리지 않고 첫 번째 깃발을 반시계 방향으로 90도 회전해야 한다면 34칸을 다시 칠해야 한다.

입력

첫 줄에 줄무늬의 개수를 나타내는 정수 nn (1≤n≤2⋅1051\leq n\leq 2 \cdot 10^5)이 주어진다. 둘째 줄에는 줄무늬의 색을 나타내는 정수 aa가 nn개 주어진다 (1≤a≤1091\leq a\leq 10^9).

출력

깃발을 반시계 방향으로 90도 회전했을 때와 같아지도록 다시 칠해야 하는 칸의 수를 출력한다.

예제3

  1. 예제 1

    입력
    7
    1 2 2 3 1000 2 1
    
    예상 출력
    34
    
  2. 예제 2

    입력
    4
    10 12 12 10
    
    예상 출력
    8
    
  3. 예제 3

    입력
    5
    6 5 5 6 5
    
    예상 출력
    12