#include<bits/stdc++.h>
using namespace std;
const int N = 4e4 + 5, NN = 2e6 + 10;
int n, a[N], mi = 1e7, mx = -1, l, s, xb;
struct node
{
int pre, next, num;
}lb[NN];
int main()
{
cin >> n;
for(int i = 1; i <= n; i++)
{
cin >> a[i];
lb[a[i] += 1000005].num++;
mi = min(mi, a[i]);
mx = max(mx, a[i]);
}
xb = mi;
for(int i = mi + 1; i <= mx; i++)
{
if(lb[i].num == 0) continue;
lb[l].next = i;
lb[i].pre = xb;
xb = i;
}
for(int i = n; i >= 2; i--)
{
if(lb[a[i]].num > 1) lb[a[i]].num--;
else
{
int l = lb[a[i]].pre;
int r = lb[a[i]].next;
if(l == 0) s += r - a[i];
else if(r == 0) s += a[i]- l;
else s += min(a[i] - l, r - a[i]);
lb[l].next = r;
lb[r].pre = l;
}
}
cout << s << endl;
return 0;
}