소 줄 세우기
면접 대비시간 제한1초메모리 제한128 MB
소의 품종 번호 N개가 주어질 때, 서로 다른 품종을 최대 K개 제거한 뒤 남는 수열에서 같은 번호가 연속으로 가장 길게 나오는 구간의 길이를 구한다.
문제
농부 존의 소 마리()가 한 줄로 서 있다. 각 소는 범위의 정수 품종 번호를 가지며, 줄에서 번째 소의 품종 번호는 이다. 서로 다른 소가 같은 품종 번호를 가질 수도 있다.
존은 같은 품종 번호를 가진 소들이 길게 연속으로 이어져 있으면 줄이 훨씬 인상적으로 보인다고 생각한다. 이런 구간을 만들기 위해, 존은 품종 번호를 최대 개까지 고른 뒤 그 번호에 해당하는 소를 줄에서 모두 빼낼 수 있다. 남은 소들은 원래 순서를 유지한 채 빈자리를 메우며 붙는다. 이렇게 소를 빼낸 뒤 만들 수 있는, 같은 품종 번호를 가진 소들의 연속 구간의 최대 길이를 구하여라.
입력
- 첫째 줄: 공백으로 구분된 두 정수 과 .
- 둘째 줄부터 번째 줄까지: 번째 줄에는 품종 번호 가 주어진다.
출력
- 첫째 줄: 존이 만들 수 있는, 같은 품종 번호를 가진 소들의 연속 구간의 최대 길이.
힌트
9마리의 소가 품종 번호 2, 7, 3, 7, 7, 3, 7, 5, 7 순으로 서 있고, 존은 품종 번호를 최대 1개까지 뺄 수 있다.
품종 번호 3인 소를 모두 빼내면 줄은 2, 7, 7, 7, 7, 5, 7이 되고, 여기에는 품종 번호 7인 소가 4마리 연속으로 이어진 구간이 있다.