Little Petya likes to play very much. And most of all he likes to play the following game:
He is given a sequence of N integer numbers. At each step it is allowed to increase the value of any number by 1 or to decrease it by 1. The goal of the game is to make the sequence non-decreasing with the smallest number of steps. Petya is not good at math, so he asks for your help.
The sequence a is called non-decreasing if a1 ≤ a2 ≤ ... ≤ aN holds, where N is the length of the sequence.
The first line of the input contains single integer N (1 ≤ N ≤ 5000) — the length of the initial sequence. The following N lines contain one integer each — elements of the sequence. These numbers do not exceed 109 by absolute value.
Output one integer — minimum number of steps required to achieve the goal.
5 3 2 -1 2 11
4
5 2 1 1 1 1
1
1 #include2 #include 3 4 using namespace std; 5 6 template void read (tn & a) { 7 tn x = 0, f = 1; 8 char c = getchar(); 9 while (c < '0' || c > '9'){ if (c == '-') f = -1; c = getchar(); }10 while (c >= '0' && c <= '9'){ x = x * 10 + c - '0'; c = getchar(); }11 a = f == 1 ? x : -x;12 }13 14 const int MAXN = 5100;15 long long n, ans;16 priority_queue q;17 18 int main() {19 read(n);20 ans = 0;21 while (n--) {22 int x;23 read(x);24 q.push(x);25 if (q.top() > x) {26 ans += q.top() - x;27 q.pop();28 q.push(x);29 }30 }31 printf("%lld\n", ans);32 return 0;33 }