#P964. 抢修道路

抢修道路

【题目描述】

2008年5月12日14时28分,国难时刻,8.0级地震灾难突降四川。条条道路被震裂或被巨石和泥石流斩断,坐坐桥梁被震裂或被震垮坐坐隧道被撕裂震坏。交通完全瘫痪了,灾区同胞在生死呼救,生命之路啊,告急!告急!告急!

要想救援物资尽快运送,必须先第一时间修好通往汶川的道路,因此,在地真发生后,有关部门便展开大力抢修。假设修好后的路面高度应当单调上升或单调下降,这样的道路车辆通过的速度将是无穷大的(接近光速),货物将在最短的时间内运到灾区。

然而整条路被地震震成了N段,N个整数A1,…..,An(1<=n<=2000)依次描述了每一段路的高度(0<=Ai<=1000000000)。希望找到一个恰好含N个元素的不上升或不下降的序列B1,……,Bn,作为修过的路中每个路段的高度。

由于将每一段路垫高或挖低一个单位的花费相同,修路的总支出可以表示为: |A1-B1|+|A2-B2|+…..+|An-Bn|

请你计算一下,要修好这段道路,在这项工程上的最小支出是多少。总支出不会超过2^31-1

【输入格式】

输入文件的第一行仅有一正整数,以下的N行每行一个整数Ai,表示路面的高度。

【输出格式】

输出文件仅有一个正整数,表示如果把路修成高度不上升或不下降的最小花费

【样例输入】

7
1
3
2
4
5
3
9

【样例输出】

3