만드는 중입니다

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

색상이 모두 포함된 두 구간

면접 대비

시간 제한1초메모리 제한2048 MB

요약
일렬로 놓인 n개 그림의 색상이 주어질 때, 모든 색이 적어도 한 구간에 들어가도록 두 구간을 고르고 두 구간 길이 합의 최솟값을 구합니다.
난이도

보통10점 중 6점

유형
슬라이딩 윈도우, 배열, 해시맵
정답자
아직 제출이 없습니다

문제

현대 미술관은 현대 미술, 특히 한 가지 색만 쓰는 단색 양식(Monochromatic style) 그림을 다루는 전시를 열고 있다. 전시장에는 그림 nn점이 일렬로 놓여 있다.

ICPC는 학생들이 미술에 관심을 갖도록 전시장 견학을 준비하고 있다. 그런데 학생들은 프로그래머라서 현대 그림의 색에만 관심이 있다는 것을 다들 안다. 또 학생들은 조금 성급한 편이다. 주최 측은 학생들의 집중력을 붙잡고, 모든 색을 부담 없이 보여 주기 위해 그림 구간을 정확히 두 개만 보여 주기로 했다. 목표는 각 색이 두 구간 중 적어도 한 구간에 최소 한 번 나타나도록 두 구간을 고르되, 학생들이 보아야 하는 그림의 총 개수가 최소가 되게 하는 것이다.

입력

한 줄에 정수 nn (2≤n≤20002 \le n \le 2000)이 주어진다. 그림의 개수이다. 이어서 nn개의 줄이 주어지며, 각 줄에는 그림 하나의 색을 나타내는 문자열이 있다. 각 색은 길이가 20 미만인 비어 있지 않은 소문자 문자열이다. 입력에 나오는 서로 다른 색은 적어도 2개, 많아야 50개이다.

출력

학생들이 보아야 하는 그림의 최소 개수를 출력한다. 이는 두 구간 길이의 합이다.

예제2

  1. 예제 1

    입력
    5
    blue
    red
    blue
    black
    red
    
    예상 출력
    3
    
  2. 예제 2

    입력
    8
    peachfuzz
    livingcoral
    livingcoral
    teal
    teal
    livingcoral
    livingcoral
    coral
    
    예상 출력
    5