MAGCARI

C Value

Oct 31st, 2022
903
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.65 KB | None | 0 0
  1. /*
  2.     Task    : _example
  3.     Author  : Phumipat C. [MAGCARI]
  4.     Language: C++
  5.     Created : 31 October 2022 [20:37]
  6. */
  7. #include<bits/stdc++.h>
  8. using namespace std;
  9. long long dp[1000010][3];
  10. int main(){
  11.     cin.tie(0)->sync_with_stdio(0);
  12.     cin.exceptions(cin.failbit);
  13.     int n,num;
  14.     cin >> n;
  15.     for(int i=1;i<=n;i++){
  16.         cin >> num;
  17.         if(i%2 == 1){
  18.             dp[i][0] = dp[i-1][0] - num;
  19.             dp[i][1] = min(dp[i-1][0],dp[i-1][1]) + num;
  20.             dp[i][2] = min(dp[i-1][1],dp[i-1][2]) - num;
  21.         }else{
  22.             dp[i][0] = dp[i-1][0] + num;
  23.             dp[i][1] = min(dp[i-1][0],dp[i-1][1]) - num;
  24.             dp[i][2] = min(dp[i-1][1],dp[i-1][2]) + num;
  25.         }
  26.     }
  27.     cout << min({dp[n][0],dp[n][1],dp[n][2]}) << '\n';
  28.     return 0;
  29. }
Advertisement
Add Comment
Please, Sign In to add comment