时间限制:40000ms
单点时限:2000ms
内存限制:256MB

描述

给定一个长度为  的非负整数序列 [1..]。

你每次可以花费 1 的代价给某个 [] 加1或者减1。

求最少需要多少代价能将这个序列变成一个不上升序列。

输入

第一行一个正整数 。

接下来  行每行一个非负整数,第  行表示 []。

1 ≤  ≤ 500000

0 < [] ≤ 109

输出

一个非负整数,表示答案。

样例解释

[5,3,4,5] -> [5,4,4,4]

样例输入
4
5
3
4
5
样例输出
2

玄学,堆???

想了两节课,无果。。。。。。。。。。。。

http://codeforces.com/blog/entry/47094?#comment-315161

05-11 16:14