Submission #1164243


Source Code Expand

#include <iostream>
#include <vector>
using namespace std;
typedef long long lli;
lli n;
vector<lli> a;
lli dp[100005][3];
int main(int argc, char const *argv[]) {
    cin >> n;
    lli x;
    char c;
    cin >> x;
    a.push_back(x);
    for(lli i = 1;i < n;i++){
        cin >> c >> x;
        if(c == '-') a.push_back(x*-1);
        if(c == '+') a.push_back(x);
    }
    for(lli i = 0;i < a.size();i++){
        dp[i][0] = dp[i][1] = dp[i][2] = -100000000000000;
    }
    dp[0][0] = 0;
    for(lli i = 0;i < a.size();i++){
        if(a[i] > 0){
            dp[i+1][0] = max(dp[i][0]+a[i],dp[i][1]+a[i]);
            dp[i+1][1] = dp[i][1] - a[i];
            dp[i+1][2] = dp[i][2] + a[i];
        }else{
            dp[i+1][1] = dp[i][0]+a[i];
            dp[i+1][2] = max(dp[i][1]-a[i],dp[i][2]-a[i]);
        }
    }
    cout << max(max(dp[a.size()][0],dp[a.size()][1]),dp[a.size()][2]) << endl;
    return 0;
}

Submission Info

Submission Time
Task E - Addition and Subtraction Hard
User deoxy
Language C++14 (GCC 5.4.1)
Score 900
Code Size 953 Byte
Status AC
Exec Time 52 ms
Memory 3572 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 900 / 900
Status
AC × 3
AC × 29
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
All sample_01.txt, sample_02.txt, sample_03.txt, subtask_1_alladd_01.txt, subtask_1_alladd_02.txt, subtask_1_alladd_03.txt, subtask_1_alladd_04.txt, subtask_1_allsub_01.txt, subtask_1_allsub_02.txt, subtask_1_allsub_03.txt, subtask_1_allsub_04.txt, subtask_1_cont_01.txt, subtask_1_cont_02.txt, subtask_1_cont_03.txt, subtask_1_cont_04.txt, subtask_1_killer_01.txt, subtask_1_killer_02.txt, subtask_1_killer_03.txt, subtask_1_killer_04.txt, subtask_1_max_01.txt, subtask_1_max_02.txt, subtask_1_max_03.txt, subtask_1_max_04.txt, subtask_1_min_01.txt, subtask_1_min_02.txt, subtask_1_rand_01.txt, subtask_1_rand_02.txt, subtask_1_rand_03.txt, subtask_1_rand_04.txt
Case Name Status Exec Time Memory
sample_01.txt AC 1 ms 256 KB
sample_02.txt AC 1 ms 256 KB
sample_03.txt AC 1 ms 256 KB
subtask_1_alladd_01.txt AC 50 ms 3444 KB
subtask_1_alladd_02.txt AC 50 ms 3444 KB
subtask_1_alladd_03.txt AC 50 ms 3444 KB
subtask_1_alladd_04.txt AC 50 ms 3444 KB
subtask_1_allsub_01.txt AC 51 ms 3444 KB
subtask_1_allsub_02.txt AC 50 ms 3444 KB
subtask_1_allsub_03.txt AC 50 ms 3444 KB
subtask_1_allsub_04.txt AC 50 ms 3444 KB
subtask_1_cont_01.txt AC 28 ms 2040 KB
subtask_1_cont_02.txt AC 21 ms 1656 KB
subtask_1_cont_03.txt AC 18 ms 1400 KB
subtask_1_cont_04.txt AC 5 ms 512 KB
subtask_1_killer_01.txt AC 47 ms 3316 KB
subtask_1_killer_02.txt AC 33 ms 2424 KB
subtask_1_killer_03.txt AC 49 ms 3316 KB
subtask_1_killer_04.txt AC 33 ms 2424 KB
subtask_1_max_01.txt AC 52 ms 3572 KB
subtask_1_max_02.txt AC 51 ms 3444 KB
subtask_1_max_03.txt AC 51 ms 3444 KB
subtask_1_max_04.txt AC 51 ms 3444 KB
subtask_1_min_01.txt AC 1 ms 256 KB
subtask_1_min_02.txt AC 1 ms 256 KB
subtask_1_rand_01.txt AC 31 ms 2296 KB
subtask_1_rand_02.txt AC 37 ms 2676 KB
subtask_1_rand_03.txt AC 6 ms 640 KB
subtask_1_rand_04.txt AC 16 ms 1276 KB