Submission #1530099


Source Code Expand

#include <bits/stdc++.h>

using namespace std;

using ll = long long;

ll a[100010], sum[100010];

int main() {
	cin.tie(0);
	ios::sync_with_stdio(false);
	int n;
	cin >> n;
	cin >> a[0];
	vector<int> minus;
	for (int i = 1; i < n; i++) {
		char op;
		cin >> op >> a[i];
		if (op == '-') minus.push_back(i);
	}

	for (int i = n - 2; i >= 0; i--) {
		sum[i] = sum[i + 1] + a[i + 1];
	}

	ll ans = 0;
	if (minus.empty()) {
		for (int i = 0; i < n; i++) {
			ans += a[i];
		}
	} else {
		for (int i = 0; i < minus.front(); i++) ans += a[i];
		for (int i = 0; i < minus.size(); i++) {
			ans -= a[minus[i]];
			if (i + 1 == minus.size()) {
				ans += sum[minus[i]];
				break;
			}
			
			ll tmp = sum[minus[i]] - sum[minus[i + 1] - 1];
			if (sum[minus[i + 1] - 1] >= tmp) {
				ans += sum[minus[i + 1] - 1] - tmp;
				break;
			}
			ans += tmp;
		}
	}

	cout << ans << endl;
	return 0;
}

Submission Info

Submission Time
Task E - Addition and Subtraction Hard
User fine
Language C++14 (GCC 5.4.1)
Score 0
Code Size 935 Byte
Status WA
Exec Time 14 ms
Memory 2296 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 900
Status
AC × 3
AC × 22
WA × 7
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 13 ms 1792 KB
subtask_1_alladd_02.txt AC 13 ms 1792 KB
subtask_1_alladd_03.txt AC 13 ms 1792 KB
subtask_1_alladd_04.txt AC 13 ms 1792 KB
subtask_1_allsub_01.txt AC 13 ms 2296 KB
subtask_1_allsub_02.txt AC 13 ms 2296 KB
subtask_1_allsub_03.txt AC 14 ms 2296 KB
subtask_1_allsub_04.txt AC 13 ms 2296 KB
subtask_1_cont_01.txt AC 8 ms 1280 KB
subtask_1_cont_02.txt AC 6 ms 1152 KB
subtask_1_cont_03.txt AC 5 ms 1024 KB
subtask_1_cont_04.txt AC 2 ms 384 KB
subtask_1_killer_01.txt WA 12 ms 1792 KB
subtask_1_killer_02.txt WA 9 ms 1280 KB
subtask_1_killer_03.txt WA 12 ms 1792 KB
subtask_1_killer_04.txt WA 9 ms 1280 KB
subtask_1_max_01.txt WA 14 ms 2172 KB
subtask_1_max_02.txt WA 13 ms 2172 KB
subtask_1_max_03.txt WA 14 ms 2172 KB
subtask_1_max_04.txt AC 14 ms 2172 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 9 ms 1408 KB
subtask_1_rand_02.txt AC 10 ms 1660 KB
subtask_1_rand_03.txt AC 2 ms 512 KB
subtask_1_rand_04.txt AC 5 ms 896 KB