Submission

Status:

[PPP][PPPPPP][PP]

Subtask/Task Score:

{30/30}{50/50}{20/20}

Score: 100

User: KantaponZ

Problemset: ช่างไฟ

Language: cpp

Time: 0.085 second

Submitted On: 2025-09-25 00:53:43

#include <bits/stdc++.h>
using namespace std;

#define ll long long
int N;
ll P;
ll A[1000005];
ll dp[1000005][2];

int main() {
    ios_base::sync_with_stdio(0), cin.tie(0);
    cin >> N;
    for (int i = 1; i <= N; i++) cin >> A[i];
    for (int i = 1; i <= N; i++) {
        dp[i][0] = min(dp[i - 1][0], dp[i - 1][1]) + A[i];
        dp[i][1] = max(max(dp[i - 1][0], dp[i - 1][1]) + A[i], max(abs(dp[i - 1][0] + A[i]), abs(dp[i - 1][1] + A[i])));
    }
    cout << max(dp[N][0], dp[N][1]);
}

/*
4
10 -9 -3 4

3 
-1 -2 -3
*/