#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define pb push_back
#define yes cout<<"YES\n";
#define no cout<<"NO\n";
const int N=3e5+7;
ll T=1;
ll h[N];
ll n, oo = 1e18;
ll dp[N];
ll rec(ll i)
{
if(i > n)
return oo;
if(i == n)
return 0;
if(dp[i] != -1)
return dp[i];
ll fp = rec(i + 1) + abs(h[i] - h[i + 1]);
ll sp = rec(i + 2) + abs(h[i] - h[i + 2]);
dp[i] = min(fp, sp);
return dp[i];
}
void solve()
{
memset(dp, -1, sizeof dp);
cin >> n;
for(int i = 1; i <= n; i++)
cin >> h[i];
cout << rec(1);
}
int main()
{
ios::sync_with_stdio(NULL);
cin.tie(0);
cout.tie(0);
// freopen("","r", stdin);
// freopen("","w", stdout);
// cin>>T;
while(T--)
solve();
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBsbCBsb25nIGxvbmcKI2RlZmluZSBwYiBwdXNoX2JhY2sKI2RlZmluZSB5ZXMgY291dDw8IllFU1xuIjsKI2RlZmluZSBubyBjb3V0PDwiTk9cbiI7CmNvbnN0IGludCBOPTNlNSs3OwpsbCBUPTE7CmxsIGhbTl07CmxsIG4sIG9vID0gMWUxODsKbGwgZHBbTl07CmxsIHJlYyhsbCBpKQp7CiAgICBpZihpID4gbikKICAgICAgICByZXR1cm4gb287CiAgICBpZihpID09IG4pCiAgICAgICAgcmV0dXJuIDA7CgogICAgaWYoZHBbaV0gIT0gLTEpCiAgICAgICAgcmV0dXJuIGRwW2ldOwoKCiAgICBsbCBmcCA9IHJlYyhpICsgMSkgKyBhYnMoaFtpXSAtIGhbaSArIDFdKTsKICAgIGxsIHNwID0gcmVjKGkgKyAyKSArIGFicyhoW2ldIC0gaFtpICsgMl0pOwoKICAgIGRwW2ldID0gbWluKGZwLCBzcCk7CgogICAgcmV0dXJuIGRwW2ldOwp9CnZvaWQgc29sdmUoKQp7CiAgICBtZW1zZXQoZHAsIC0xLCBzaXplb2YgZHApOwogICAgY2luID4+IG47CiAgICBmb3IoaW50IGkgPSAxOyBpIDw9IG47IGkrKykKICAgICAgICBjaW4gPj4gaFtpXTsKICAgIGNvdXQgPDwgcmVjKDEpOwp9CmludCBtYWluKCkKewogICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oTlVMTCk7CiAgICBjaW4udGllKDApOwogICAgY291dC50aWUoMCk7CgovLyAgICBmcmVvcGVuKCIiLCJyIiwgc3RkaW4pOwovLyAgICBmcmVvcGVuKCIiLCJ3Iiwgc3Rkb3V0KTsKLy8gICAgY2luPj5UOwogICAgd2hpbGUoVC0tKQogICAgICAgIHNvbHZlKCk7CiAgICByZXR1cm4gMDsKfQo=