마운트 마라톤
면접 대비시간 제한2초메모리 제한512 MB
각 카드가 한 장짜리 더미로 놓일 때 단일 카드 더미를 바로 오른쪽 더미 위로 옮깁니다. 단 옮기는 카드 값이 오른쪽 맨 위 카드 값 이상이어야 하며 가능한 한 최소 더미 수를 구합니다.
문제
마운트 마라톤은 52장의 일반 트럼프 카드로 하는 혼자서 하는 게임이다. 게임을 시작할 때 플레이어는 덱을 섞어 카드 장을 앞면이 보이게 탁자 위에 놓아, 카드 한 장씩으로 이루어진 개의 더미를 일직선으로 만든다. 나머지 카드는 이후 게임에서 쓰지 않는다. 그다음 플레이어는 더 옮길 더미가 없을 때까지 더미를 다른 더미 위로 옮기는 동작을 반복한다. 게임의 목표는 남은 더미의 수를 최소로 만드는 것이다. 더미 를 다른 더미 위로 옮길 때는 다음 조건을 만족해야 한다.
- 더미 는 카드 한 장으로 이루어진 더미여야 한다.
- 더미 의 유일한 카드 값은 더미 의 맨 위 카드 값보다 크거나 같아야 한다.
- 더미 는 더미 의 바로 오른쪽에 남아 있는 더미여야 한다.
아래 그림 (a)는 게임 시작 시 카드 6장이 놓인 배치를 보여 준다. 플레이어는 다섯 번째 더미를 여섯 번째 더미 위로 옮기고, 이어서 두 번째 더미를 세 번째 더미 위로 옮길 수 있다. 더 옮길 더미가 없으므로 이대로 두면 그림 (b)처럼 더미 4개가 남은 채로 게임이 끝난다. 그러나 이 배치에서는 그림 (c)에 나오는 더미 3개만 남기고 게임을 끝낼 수도 있다.

처음 더미들이 주어질 때, 게임이 끝났을 때 남길 수 있는 더미 수의 최솟값을 구해야 한다.
입력
첫째 줄에는 게임에 쓰는 카드 수를 나타내는 정수 ()이 주어진다. 둘째 줄에는 처음 더미에 놓인 카드의 값을 왼쪽부터 오른쪽으로 나열한 개의 정수 (, )이 주어진다. 각 카드 값은 최대 네 번까지 나타난다.
출력
게임이 끝났을 때 남길 수 있는 더미 수의 최솟값을 나타내는 정수를 한 줄에 출력한다.