Submission #1072766


Source Code Expand

#include <bits/stdc++.h>

using namespace std;

typedef long long LL;

const int N = 1e5 + 10;
int a[N], ri[N];
char b[N];
LL sum[N];

int main() {
    int n;
    scanf("%d", &n);
    scanf("%d", &a[1]);
    for (int i = 2; i <= n; i++) scanf(" %c %d", b + i, a + i);
    for (int i = 1; i <= n; i++) sum[i] = sum[i-1] + a[i];
    ri[n + 1] = n + 1;
    for (int i = n; i >= 2; i--) {
        ri[i] = ri[i+1];
        if (b[i+1] == '-') ri[i] = i + 1;
    }
    LL ans = -1e18;
    LL tmp = a[1];
    for (int i = 2; i <= n; i++) {
        if (b[i] == '-') {
            LL ans1 = tmp - a[i] - (sum[ri[i]-1]-sum[i]) + (sum[n] - sum[ri[i]-1]);
            ans = max(ans1, ans);
        }
        if (b[i] == '-') tmp -= a[i];
        else tmp += a[i];
    }
    ans = max(ans, tmp);
    printf("%lld\n", ans);
    return 0;
}

Submission Info

Submission Time
Task E - Addition and Subtraction Hard
User vjudge1
Language C++14 (GCC 5.4.1)
Score 900
Code Size 825 Byte
Status AC
Exec Time 22 ms
Memory 1920 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:14:20: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d", &n);
                    ^
./Main.cpp:15:23: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d", &a[1]);
                       ^
./Main.cpp:16:63: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
     for (int i = 2; i <= n; i++) scanf(" %c %d", b + i, a + i);
                                                               ^

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 900 / 900
Status
AC × 3
AC × 26
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
All 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 2 ms 256 KB
sample_02.txt AC 2 ms 256 KB
sample_03.txt AC 2 ms 256 KB
subtask_1_alladd_01.txt AC 21 ms 1920 KB
subtask_1_alladd_02.txt AC 21 ms 1920 KB
subtask_1_alladd_03.txt AC 21 ms 1920 KB
subtask_1_alladd_04.txt AC 21 ms 1920 KB
subtask_1_allsub_01.txt AC 21 ms 1920 KB
subtask_1_allsub_02.txt AC 21 ms 1920 KB
subtask_1_allsub_03.txt AC 21 ms 1920 KB
subtask_1_allsub_04.txt AC 21 ms 1920 KB
subtask_1_cont_01.txt AC 12 ms 1152 KB
subtask_1_cont_02.txt AC 10 ms 896 KB
subtask_1_cont_03.txt AC 9 ms 768 KB
subtask_1_cont_04.txt AC 4 ms 384 KB
subtask_1_killer_01.txt AC 20 ms 1792 KB
subtask_1_killer_02.txt AC 15 ms 1280 KB
subtask_1_killer_03.txt AC 20 ms 1792 KB
subtask_1_killer_04.txt AC 15 ms 1280 KB
subtask_1_max_01.txt AC 22 ms 1920 KB
subtask_1_max_02.txt AC 22 ms 1920 KB
subtask_1_max_03.txt AC 22 ms 1920 KB
subtask_1_max_04.txt AC 22 ms 1920 KB
subtask_1_min_01.txt AC 2 ms 256 KB
subtask_1_min_02.txt AC 3 ms 256 KB
subtask_1_rand_01.txt AC 14 ms 1280 KB
subtask_1_rand_02.txt AC 16 ms 1408 KB
subtask_1_rand_03.txt AC 4 ms 384 KB
subtask_1_rand_04.txt AC 8 ms 768 KB