구간 편집
시간 제한4초메모리 제한2048 MB
길이 n의 셀 행에서 0은 빈 셀을 뜻하는 목표 값이 주어질 때, 구간 값 지정과 구간 비우기 연산의 최소 횟수를 구합니다.
문제
스프레드시트에 셀이 한 줄로 놓여 있다. 처음에는 모든 셀이 비어 있다. 다음 두 가지 연산을 수행할 수 있다.
- 연속된 구간의 셀을 원하는 양의 정수 하나로 바꾼다. 구간의 모든 셀은 연산 후 같은 값을 가진다.
- 연속된 구간의 셀 값을 지운다. 구간의 모든 셀은 연산 후 비게 된다.
원하는 최종 셀 값이 주어졌을 때, 그 값을 얻는 데 필요한 편집 연산의 최소 횟수를 구하시오.
입력
첫째 줄에 셀의 개수를 나타내는 정수 ()이 주어진다. 셀은 1번부터 번까지 번호가 매겨져 있다.
이어지는 개의 줄에는 이상 이하의 정수가 한 개씩 주어진다. 번째 줄의 정수가 이면 모든 연산 후 번 셀이 비어 있어야 한다. 그렇지 않으면 그 값이 번 셀의 최종 값이다.
출력
필요한 편집 연산의 최소 횟수를 한 줄에 출력한다.