/* Author : Nguyen Thanh Tung */
#include <bits/stdc++.h>
#define endl '\n'
#define int long long
using namespace std;
typedef pair<int, int> ii;
const int N = 1e6 + 7;
const long long oo = 1e18 + 7;
const long long MOD = 1e9 + 7;
int n, a[N];
ii node[N];
int par[N];
struct edge {
int u, v, w;
};
vector<edge> canh;
bool cmp(edge a, edge b) {
return a.w < b.w;
}
int find_set(int u) {
if(u == par[u]) {
return u;
}
return par[u] = find_set(par[u]);
}
void union_sets(int u, int v) {
u = find_set(u);
v = find_set(v);
par[v] = u;
}
void solve() {
cin >> n;
for(int i = 1; i <= n; ++i) {
cin >> a[i];
node[i] = {a[i], i};
par[i] = i;
}
sort(node + 1, node + n + 1);
for(int i = 2; i <= n; ++i) {
int u = node[i].first;
int v = node[i - 1].second;
int w = abs(node[i].second - node[i - 1].second);
canh.push_back({u, v, w});
}
int s = 0, d = 0;
sort(canh.begin(), canh.end(), cmp);
for(auto i : canh) {
int u = i.u, v = i.v, w = i.w;
if(find_set(u) != find_set(v)) {
union_sets(u, v);
s += w;
d++;
if(d == n - 1) {
break;
}
}
}
cout << s;
}
#define TASK "code"
signed main () {
ios_base::sync_with_stdio (false);
cin.tie(nullptr), cout.tie(nullptr);
if (fopen(TASK".inp", "r")) {
freopen(TASK".inp", "r", stdin);
freopen(TASK".out", "w", stdout);
}
int T = 1;
//cin >> T;
while(T--) {
solve();
}
return 0;
}
LyogQXV0aG9yIDogTmd1eWVuIFRoYW5oIFR1bmcgKi8KCiNpbmNsdWRlIDxiaXRzL3N0ZGMrKy5oPgoKI2RlZmluZSBlbmRsICAgICAgICAgICAgICAgICAnXG4nCiNkZWZpbmUgaW50ICAgICAgICAgICAgICAgICAgbG9uZyBsb25nCgp1c2luZyBuYW1lc3BhY2UgICAgICAgICAgICAgIHN0ZDsKCnR5cGVkZWYgcGFpcjxpbnQsIGludD4gICAgICAgaWk7Cgpjb25zdCBpbnQgICAgICAgTiAgICAgICAgICAgID0gMWU2ICsgNzsKY29uc3QgbG9uZyBsb25nIG9vICAgICAgICAgICA9IDFlMTggKyA3Owpjb25zdCBsb25nIGxvbmcgTU9EICAgICAgICAgID0gMWU5ICsgNzsKCmludCBuLCBhW05dOwppaSBub2RlW05dOwppbnQgcGFyW05dOwoKc3RydWN0IGVkZ2UgewoJaW50IHUsIHYsIHc7Cn07Cgp2ZWN0b3I8ZWRnZT4gY2FuaDsKCmJvb2wgY21wKGVkZ2UgYSwgZWRnZSBiKSB7CglyZXR1cm4gYS53IDwgYi53Owp9CgppbnQgZmluZF9zZXQoaW50IHUpIHsKCWlmKHUgPT0gcGFyW3VdKSB7CgkJcmV0dXJuIHU7Cgl9CglyZXR1cm4gcGFyW3VdID0gZmluZF9zZXQocGFyW3VdKTsKfQoKdm9pZCB1bmlvbl9zZXRzKGludCB1LCBpbnQgdikgewoJdSA9IGZpbmRfc2V0KHUpOwoJdiA9IGZpbmRfc2V0KHYpOwoJcGFyW3ZdID0gdTsKfQoKdm9pZCBzb2x2ZSgpIHsKCWNpbiA+PiBuOwoJZm9yKGludCBpID0gMTsgaSA8PSBuOyArK2kpIHsKCQljaW4gPj4gYVtpXTsKCQlub2RlW2ldID0ge2FbaV0sIGl9OwoJCXBhcltpXSA9IGk7Cgl9Cglzb3J0KG5vZGUgKyAxLCBub2RlICsgbiArIDEpOwoJZm9yKGludCBpID0gMjsgaSA8PSBuOyArK2kpIHsKCQlpbnQgdSA9IG5vZGVbaV0uZmlyc3Q7CgkJaW50IHYgPSBub2RlW2kgLSAxXS5zZWNvbmQ7CgkJaW50IHcgPSBhYnMobm9kZVtpXS5zZWNvbmQgLSBub2RlW2kgLSAxXS5zZWNvbmQpOwoJCWNhbmgucHVzaF9iYWNrKHt1LCB2LCB3fSk7Cgl9CglpbnQgcyA9IDAsIGQgPSAwOwoJc29ydChjYW5oLmJlZ2luKCksIGNhbmguZW5kKCksIGNtcCk7Cglmb3IoYXV0byBpIDogY2FuaCkgewoJCWludCB1ID0gaS51LCB2ID0gaS52LCB3ID0gaS53OwoJCWlmKGZpbmRfc2V0KHUpICE9IGZpbmRfc2V0KHYpKSB7CgkJCXVuaW9uX3NldHModSwgdik7CgkJCXMgKz0gdzsKCQkJZCsrOwoJCQlpZihkID09IG4gLSAxKSB7CgkJCQlicmVhazsKCQkJfQoJCX0KCX0KCWNvdXQgPDwgczsKfQoKI2RlZmluZSBUQVNLICJjb2RlIgoKc2lnbmVkIG1haW4gKCkgewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyAoZmFsc2UpOwogICAgY2luLnRpZShudWxscHRyKSwgY291dC50aWUobnVsbHB0cik7CiAgICBpZiAoZm9wZW4oVEFTSyIuaW5wIiwgInIiKSkgewogICAgICAgZnJlb3BlbihUQVNLIi5pbnAiLCAiciIsIHN0ZGluKTsKICAgICAgIGZyZW9wZW4oVEFTSyIub3V0IiwgInciLCBzdGRvdXQpOwogICAgfQogICAgaW50IFQgPSAxOwogICAgLy9jaW4gPj4gVDsKICAgIHdoaWxlKFQtLSkgewogICAgICAgIHNvbHZlKCk7ICAgIAogICAgfQogICAgcmV0dXJuIDA7Cn0K