증가하는 수열 만들기

아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

정수 수열 A1,A2,,ANA_1, A_2, \dots, A_N이 주어진다.

B1<B2<<BNB_1 < B_2 < \dots < B_N을 만족하는 정수 수열 BB 가운데 B1A1+B2A2++BNAN|B_1 - A_1| + |B_2 - A_2| + \dots + |B_N - A_N|을 가장 작게 만드는 것을 골랐을 때, 그 최솟값을 출력한다.

수열 AABB는 정수로만 이루어지고, 수열 BB의 원소는 32비트 정수형 범위 안에 들어 있어야 한다.

입력

첫째 줄에 NN이 주어진다. (1N1061 \le N \le 10^6)

둘째 줄에 수열 AA의 원소 A1,A2,,ANA_1, A_2, \dots, A_N이 순서대로 주어진다. (0Ai2×1090 \le A_i \le 2 \times 10^9)

출력

가능한 B1A1+B2A2++BNAN|B_1 - A_1| + |B_2 - A_2| + \dots + |B_N - A_N|의 최솟값을 한 줄에 출력한다.

힌트

A=(9,4,8,20,14,15,18)A = (9, 4, 8, 20, 14, 15, 18)인 경우 B=(6,7,8,13,14,15,18)B = (6, 7, 8, 13, 14, 15, 18)이 합을 최소로 만들고, 그 값은 13이다.