볼록 수열

길이 50 이하의 수열에서 원소를 1씩 감소시켜 볼록 수열로 만들 때 필요한 최소 감소 횟수를 구한다.

보통7동적 계획법그리디수학구현아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

정수 수열 x0,x1,,xN1x_0, x_1, \dots, x_{N-1}이 볼록하다는 것은 1iN21 \le i \le N-2인 모든 ii에서 xi1+xi+12xix_{i-1} + x_{i+1} \ge 2 x_i가 성립한다는 뜻이다. 길이가 1이거나 2인 수열은 항상 볼록하다.

예를 들어 7, 3, 4, 5, 7과 4, 2, 1, 3은 볼록하지만 4, 3, 1, 2와 5, 7, 3은 볼록하지 않다.

수열 A=a0,a1,,aN1A = a_0, a_1, \dots, a_{N-1}이 주어진다. 연산 한 번으로 인덱스 ii를 하나 골라 aia_iai1a_i - 1로 바꿀 수 있고, 다른 연산은 쓸 수 없다. 같은 인덱스를 여러 번 골라도 되며, 연산 결과로 원소가 음수가 되어도 된다. 수열 AA를 볼록하게 만드는 연산의 최소 횟수를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 수열의 크기 NN (1N501 \le N \le 50)이 주어진다. 둘째 줄에 수열 AA를 이루는 정수 a0,a1,,aN1a_0, a_1, \dots, a_{N-1} (0ai1090 \le a_i \le 10^9)이 공백으로 구분되어 주어진다.

출력

첫째 줄에 수열 AA를 볼록하게 만드는 연산의 최소 횟수를 출력한다.