fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. typedef long long int ll;
  4.  
  5.  
  6. int main() {
  7. // your code goes here
  8. ll n;
  9. cin>>n;
  10. ll i=1;
  11. ll height[n+1];
  12. while(i<=n)
  13. {
  14. cin>>height[i];
  15. i++;
  16. }
  17.  
  18.  
  19. ll dp[n+1]={0};
  20. dp[1]=0;
  21. dp[2]=abs(height[1]-height[2]);
  22.  
  23. i=3;
  24. while(i<=n)
  25. {
  26. ll x = abs(height[i-1]-height[i]);
  27. ll y = abs(height[i-2]-height[i]);
  28. dp[i]=min(dp[i-1]+x, y+dp[i-2]);
  29. i++;
  30. //cout<<i<<" "<<dp[i]<<"\n";
  31.  
  32. }
  33.  
  34. cout<<dp[n];
  35.  
  36. return 0;
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58. }
Success #stdin #stdout 0.01s 5276KB
stdin
6
30 10 60 10 60 50

stdout
40