환상의 듀엣

두 사람이 음표를 순서대로 나누어 부를 때 각자가 부른 연속 음표 사이 음높이 차이의 합이 가장 작아지는 분할을 구합니다.

보통6동적 계획법아직 제출이 없습니다시간 제한2초메모리 제한256 MB

문제

상덕이와 희원이는 함께 노래하는 일이 잦다. 어느 날 상덕이가 친구에게 선물 받은 악보를 가져왔다. 악보에는 노래에 필요한 음의 높이가 순서대로 NN개 적혀 있다. 두 사람은 악보에 적힌 음을 모두 불러야 하고, 각 음은 둘 중 한 사람만 부른다. 예를 들어 악보가 {3, 6, 2, 5, 4}일 때 상덕이가 {3, 2, 4}를 부르면 희원이는 {6, 5}를 부르고, 상덕이가 {6, 2, 5}를 부르면 희원이는 {3, 4}를 부른다.

노래하는 도중에 음의 높이를 바꾸는 것은 힘들다. {4, 6}을 부르는 것은 {4, 4}를 부르는 것보다 음이 바뀌므로 더 힘들다. 한 사람이 부르는 음이 악보 순서대로 a1,a2,,aka_1, a_2, \dots, a_k일 때 그 사람의 힘든 정도는 a1a2+a2a3++ak1ak|a_1 - a_2| + |a_2 - a_3| + \dots + |a_{k-1} - a_k|이다. 부르는 음이 하나뿐이거나 하나도 없으면 그 사람의 힘든 정도는 00이다. 악보 전체의 힘든 정도는 두 사람의 힘든 정도를 더한 값이다.

악보가 {1, 3, 8, 12, 13}이라고 하자. 앞의 두 음을 상덕이가, 뒤의 세 음을 희원이가 부르면 상덕이의 힘든 정도는 13=2|1 - 3| = 2, 희원이의 힘든 정도는 812+1213=5|8 - 12| + |12 - 13| = 5이므로 합은 77이다. 어떻게 나눠도 77보다 작아지지 않는다.

악보가 주어질 때, 두 사람이 나눠 부르는 힘든 정도의 최솟값을 구하는 프로그램을 작성하라.

입력

첫째 줄에 음의 개수 NN (1 ≤ NN ≤ 2,000)이 주어진다.

둘째 줄에 음의 높이 NN개가 공백으로 구분되어 주어진다. 각 음의 높이는 1 이상 1,000,000 이하의 자연수이다.

출력

두 사람이 악보를 나눠 부를 때 힘든 정도의 최솟값을 출력한다.