fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. typedef long long int ll;
  4.  
  5. ll mc(vector<ll>& b) {
  6.  
  7. ll n = b.size();
  8. if(n==1)return 0;
  9. if(n==2)return abs(b[1]-b[0]);
  10.  
  11. vector<ll> dp(n);
  12.  
  13. dp[0]=0;
  14. dp[1]=abs(b[1]-b[0]);
  15.  
  16. for(ll i=2;i<n;i++)
  17. {
  18. dp[i]=min(abs(b[i]-b[i-1])+dp[i-1],abs(b[i]-b[i-2])+dp[i-2]);
  19. }
  20. return dp[n-1];
  21. }
  22.  
  23. int main() {
  24. ll n;
  25. cin>>n;
  26. vector<ll> b(n);
  27. for(ll i=0;i<n;i++){
  28. cin>>b[i];
  29. }
  30. cout<<mc(b)<<endl;
  31. return 0;
  32. }
Success #stdin #stdout 0.01s 5284KB
stdin
5
10 30 20 50
stdout
30