같은 수로 만들기
시간 제한2초메모리 제한128 MB
일렬로 놓인 n개의 수에서 같은 값의 연속 블록을 한 번에 증가시키는 연산으로 모든 값을 같게 만드는 최소 연산 횟수를 구합니다.
문제
자연수 개 이 일렬로 놓여 있다. 단, 이다. 연산 Add(i)를 한 번 수행하면 가 속한 같은 값의 연속 구간 전체가 1씩 증가한다. 즉, 와 값이 같고 좌우로 인접해 이어진 원소들이 모두 함께 증가한다. 과 은 서로 인접하지 않는다.
예를 들어 배열이 일 때 Add(2)를 수행하면 앞의 네 개의 1이 함께 증가하여 이 된다. 이어서 Add(4)를 수행하면 이 되고, 다시 Add(1)을 수행하면 이 된다.
Add 연산을 사용해 모든 원소가 같은 값이 되도록 만들고자 한다. 필요한 Add 연산의 최소 횟수를 구하라.
입력
첫째 줄에 정수 이 주어진다. 다음 개의 줄에는 이 차례로 주어진다. 모든 입력값은 자연수이며 을 넘지 않는다.
출력
모든 원소를 같은 값으로 만들기 위해 필요한 Add 연산의 최소 횟수를 출력한다. 이 값은 를 넘지 않는다.