아이스크림 기계
면접 대비시간 제한2초메모리 제한1024 MB
손님들이 원하는 맛의 순서가 주어질 때, k대의 기계로 모든 손님을 순서대로 처리하는 데 필요한 최소 세척 횟수를 구합니다.
문제
아르나르는 진정한 아이슬란드 사람이라 아이스크림을 무척 좋아한다. 오늘은 눈보라가 치지만, 그는 단골 아이스크림 가게로 향한다. 도착해 보니 줄이 평소보다 짧다. 그는 주문을 기다리는 줄의 번째 사람이다. 이 가게에는 가지 맛이 있고, 아이스크림 기계가 대 있다. 기계는 한 번에 한 가지 맛만 만들 수 있으며, 다른 맛을 채우려면 먼저 세척해야 한다. 세척에는 시간이 걸리고 아르나르는 급하다. 새로운 맛이 필요할 때마다 어느 기계를 세척할지 정해서, 전체 세척 횟수를 최소로 하려고 한다. 아르나르는 줄에 선 사람들과 각자 원하는 맛을 모두 안다. 가게는 엄격한 no-cutting 정책을 지키므로 도착한 순서대로만 주문을 받는다. 아르나르를 포함해 명 모두에게 제공하는 데 필요한 세척 횟수의 최솟값을 구하라. 처음에는 모든 기계가 비어 있으므로 첫 맛을 넣기 전에 세척해야 한다. 기계에 한 맛을 넣으면, 세척하고 다른 맛을 넣기 전까지 그 맛을 원하는 손님을 몇 명이든 처리할 수 있다. 전혀 사용하지 않은 기계는 세척할 필요가 없다.
입력
첫 줄에 세 정수 , , 가 주어진다. 각각 줄에 서 있는 손님 수, 맛의 종류 수, 아이스크림 기계 수이다. 이어지는 개의 줄 중 번째 줄에는 번째 손님이 원하는 맛 가 주어진다 ().
출력
모든 명의 손님을 처리하는 데 필요한 기계 세척 횟수의 최솟값을 출력한다.