Advertisement
Soupborsh

game

Feb 7th, 2025 (edited)
26
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.61 KB | Source Code | 0 0
  1. #include <cstdio>
  2. #include <vector>
  3.  
  4. #define ULL unsigned long long
  5. #define UINT unsigned int
  6. #define DIFF(x, y) (((x) > (y)) ? ((x) - (y)) : ((y) - (x)))
  7.  
  8. int main(void) {
  9.   ULL n;
  10.   scanf("%llu", &n);
  11.   std::vector<std::vector<ULL>> dp(n, std::vector<ULL>(2));
  12.   for (UINT i = 0; i < n; i++) {
  13.     scanf("%llu", &dp[i][0]);
  14.   }
  15.   dp[0][1] = 0ULL;
  16.   dp[1][1] = DIFF(dp[0][0], dp[1][0]);
  17.   for (UINT i = 2; i < n; i++) {
  18.     dp[i][1] = std::min(dp[i - 1][1] + DIFF(dp[i][0], dp[i - 1][0]), dp[i - 2][0] + (3 * DIFF(dp[i][0], dp[i - 2][0])));
  19.   }
  20.  
  21.   printf("%llu\n", dp[n - 1][1]);
  22.  
  23.   return 0;
  24. }
  25.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement