페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#4835

눈썰매장 1s 256MB

문제

정올이는 총 길이가 N인 울퉁불퉁한 땅을 사서 여기에 눈썰매장을 만들려고 한다.

땅은 왼쪽부터 일정하게 구분하여 1~N까지 번호를 붙이고 각 구간의 높이를 기록해 놓았다.

눈썰매장을 만들려면 중간에 내려갔다가 다시 올라가는 구간이 없어야 한다. 물론 연속된 구간의 높이가 같아서도 안된다.

 

즉 가장 왼쪽부터 차례대로 증가하다가 어느 지점부터 다시 차례대로 감소하도록 만들어져야 한다.

작업을 위해서 새로 개발된 획기적인 장비를 구입하였다.

이 장비는 한번의 작업으로 연속된 구간을 한번에 1씩 높이를 증가시킬 수 있다.

한번 작업을 할 때마다 비용이 발생하기 때문에 가능하면 최소의 작업으로 눈썰매장을 만들어야 한다.

눈썰매장을 만들기 위해 장비를 사용하는 최소 횟수를 구하는 프로그램을 작성하시오. 


입력

첫 줄에 N (2 N 200,000)이 입력된다.

둘째 줄에 1번부터 N번까지의 높이 Hi 가 차례대로 입력된다. (1 Hi 1,000,000,000) 


출력

한 줄에 장비를 사용하는 최소 작업 횟수를 출력한다.


예제 #1

5

4 3 3 4 2
3

예제 #2

2

100 100
1

예제 #3

8

90 34 96 9 90 39 7 17
93

로그인해야 코드를 작성할 수 있어요.