#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5 + 5;
const int MOD = 1e9 + 7;
#define For(i,a,b) for (int i = a; i <= b; i ++)
int h[maxn], dp[maxn];
signed main()
{
int N; cin >> N;
For(i,1,N) cin >> h[i];
For(i,2,N)
{
dp[i] = MOD;
for (int j = i - 1; j >= 1 && j >= i - 2; -- j)
{
dp[i] = min(dp[i], dp[j] + abs(h[i] - h[j]));
}
}
cout << dp[N] << "\n";
return 0;
}
#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5 + 5;
const int MOD = 1e9 + 7;
#define For(i,a,b) for (int i = a; i <= b; i ++)
int h[maxn], dp[maxn];
signed main()
{
int N, K; cin >> N >> K;
For(i,1,N) cin >> h[i];
For(i,2,N)
{
dp[i] = MOD;
for (int j = i - 1; j >= 1 && j >= i - K; -- j)
{
dp[i] = min(dp[i], dp[j] + abs(h[i] - h[j]));
}
}
cout << dp[N] << "\n";
return 0;
}
#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5 + 5;
const int MOD = 1e9 + 7;
#define For(i,a,b) for (int i = a; i <= b; i ++)
int a[maxn][4], dp[maxn][4];
signed main()
{
int N; cin >> N;
For(i,1,N) For(j,1,3) cin >> a[i][j];
For(i,1,N)
{
dp[i][1] = max(dp[i - 1][2], dp[i - 1][3]) + a[i][1];
dp[i][2] = max(dp[i - 1][1], dp[i - 1][3]) + a[i][2];
dp[i][3] = max(dp[i - 1][1], dp[i - 1][2]) + a[i][3];
}
int ans = max({dp[N][1], dp[N][2], dp[N][3]});
cout << ans << "\n";
return 0;
}