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]));
}