이변마작 9
시간 제한2초메모리 제한1024 MB
마작패를 놓는 순서가 주어질 때, 어떤 시점에서 최근 X장 안에 같은 종류가 5장 이상 있게 되는 최소 X를 구하고, 불가능하면 -1을 출력한다.
문제
마작의 패牌는 종류의 패가 각각 장씩, 총 장으로 이루어져 있습니다. 패의 종류는 다음과 같습니다.
여러분은 마작패의 모양을 익히기 위해 마작패를 섞어 하나씩 놓아보고 있었습니다. 그러던 도중 마작패의 종류가 바뀌는 이변이 일어났지만, 같은 종류의 패가 장씩 존재한다는 사실을 익힌 여러분은 이변을 성공적으로 해결하였습니다.
이번에는 더 큰 이변이 일어나고 있습니다! 마작패의 종류가 바뀌는 이변에 더해서, 마작패가 늘어나 최대 장의 마작패가 쌓이게 되었습니다.
하지만 안타깝게도 여러분은 늘어난 마작패의 개수에서 이상함을 눈치채지 못했습니다. 그래서 이전처럼 같은 종류의 패가 장 이상 나오는지 확인하여 이변을 해결해야 하는데, 여러분의 기억력 는 유한하기 때문에 가장 최근에 놓은 장의 패만을 기억할 수 있습니다. 다시 말해, 여러분이 이변을 눈치채려면 어떤 패를 놓은 직후에 여러분의 기억 속에 있는 장의 패 중에서 같은 종류의 패가 장 이상 있어야 합니다.
이변을 눈치채기 위해 필요한 최소 기억력을 구해 주세요.
입력
첫 번째 줄에 늘어놓을 마작패의 개수 이 주어집니다.
두 번째 줄에 장의 마작패의 종류가 놓아볼 순서대로 공백으로 구분되어 주어집니다. 입력으로 주어지는 모든 마작패는 위에서 설명한 종 중 하나입니다.
출력
이변을 눈치채기 위해 필요한 최소 기억력을 출력합니다. 아무리 기억력이 좋아도 이변을 눈치챌 수 없다면, 대신 -1을 출력합니다.