Submission

Status:
[PPP][P-SSSS][-S]

Score: 30

User: Dormon

Problemset: ช่างไฟ

Language: cpp

Time: 0.145 second

Submitted On: 2024-10-14 10:11:26

#include <iostream>

using namespace std;
using ll = long long;
const int N = 1e6+2;

ll dp[N][2], a[N];

int main()
{
    int n; scanf("%d", &n);
    for (int i = 0;i < n;i++) scanf("%lld", a+i);
    dp[0][0] = a[0]; dp[0][1] = abs(a[0]);
    for (int i = 1;i < n;i++){
        dp[i][0] = dp[i-1][0]+a[i];
        dp[i][1] = max(abs(dp[i][0]), dp[i-1][1]+a[i]);
    }
    printf("%d", max(dp[n-1][0], dp[n-1][1]));
}