지붕
면접 대비시간 제한1.5초메모리 제한128 MB
N개 기둥 높이가 주어질 때, 지붕 모양 h_j = 봉우리높이 - |봉우리위치 - j| 이 모든 위치에서 양수가 되도록 봉우리와 높이를 정해, 높이 변화량의 합을 최소로 만든다.
문제
높이가 각각 인 기둥 개로 이루어진 히스토그램이 주어진다. 연산을 여러 번 수행해 이 히스토그램을 지붕으로 바꾸려고 한다. 지붕은 다음 조건을 만족하는 히스토그램이다.
- 기둥 하나가 지붕의 꼭대기가 된다. 그 기둥의 위치를 라고 하자.
- 위치 ()에 있는 기둥의 높이는 이다.
- 모든 높이 는 양의 정수이다.
연산 한 번은 기둥 하나의 높이를 늘리거나 줄이는 것이다. 주어진 히스토그램을 지붕으로 바꾸는 데 필요한 연산 횟수의 최솟값을 구하라.
입력
첫째 줄에 히스토그램의 기둥 개수 ()이 주어진다.
둘째 줄에 기둥의 처음 높이 ()가 공백으로 구분되어 개 주어진다.
출력
필요한 연산 횟수의 최솟값을 출력한다.
힌트
첫 번째 예제에서는 둘째, 셋째, 넷째 기둥의 높이를 각각 씩 늘려 넷째 기둥이 꼭대기인 지붕을 만든다.
두 번째 예제에서는 셋째 기둥의 높이를 줄이고 넷째 기둥의 높이를 늘려 지붕으로 바꾼다. 아래 그림은 두 번째 예제를 나타낸 것이다.
