Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Task : _example
- Author : Phumipat C. [MAGCARI]
- Language: C++
- Created : 31 October 2022 [20:37]
- */
- #include<bits/stdc++.h>
- using namespace std;
- long long dp[1000010][3];
- int main(){
- cin.tie(0)->sync_with_stdio(0);
- cin.exceptions(cin.failbit);
- int n,num;
- cin >> n;
- for(int i=1;i<=n;i++){
- cin >> num;
- if(i%2 == 1){
- dp[i][0] = dp[i-1][0] - num;
- dp[i][1] = min(dp[i-1][0],dp[i-1][1]) + num;
- dp[i][2] = min(dp[i-1][1],dp[i-1][2]) - num;
- }else{
- dp[i][0] = dp[i-1][0] + num;
- dp[i][1] = min(dp[i-1][0],dp[i-1][1]) - num;
- dp[i][2] = min(dp[i-1][1],dp[i-1][2]) + num;
- }
- }
- cout << min({dp[n][0],dp[n][1],dp[n][2]}) << '\n';
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment