Submission #1518386
Source Code Expand
#include <bits/stdc++.h>
#include <math.h>
#define uint unsigned long long
#define ll long long
#define db double
#define ls rt << 1
#define rs rt << 1 | 1
#define pb push_back
#define mp make_pair
#define pii pair<int, int>
#define X first
#define Y second
#define pcc pair<char, char>
#define vi vector<int>
#define vl vector<ll>
#define rep(i, x, y) for(int i = x; i <= y; i ++)
#define rrep(i, x, y) for(int i = x; i >= y; i --)
#define ept 1e-9
using namespace std;
inline int read()
{
int x = 0, f = 1; char ch = getchar();
while (ch < '0' || ch > '9') { if (ch == '-') f = -1; ch = getchar(); }
while (ch >= '0' && ch <= '9') { x = x * 10 + ch - '0'; ch = getchar(); }
return x * f;
}
const int mod = 1e9 + 7;
ll ps[200010], as[200010];
vector<int>pos;
void cut(ll &val, int pos1, int pos2)
{
if (pos1 > pos2) return;
val -= as[pos2] - as[pos1 - 1];
}
int main()
{
int n = read();
int val = read();
ps[1] = val;
as[1] = val;
rep(i, 2, n)
{
int val;
char op;
cin >> op;
scanf("%d", &val);
if (op == '+') ps[i] = ps[i - 1] + val;
else ps[i] = ps[i - 1] - val, pos.push_back(i);
as[i] = as[i - 1] + val;
}
ll ans = ps[n];
int nn = pos.size() - 2;
rep(i, 0, nn)
{
int p1 = pos[i], p2 = pos[i + 1];
ll tans = as[n] - as[p2 - 1];
tans += ps[p1];
cut(tans, p1 + 1, p2 - 1);
ans = max(ans, tans);
}
cout << ans << endl;
return 0;
}
Submission Info
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:48:26: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d", &val);
^
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
900 / 900 |
Status |
|
|
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 |
22 ms |
1792 KB |
subtask_1_alladd_02.txt |
AC |
22 ms |
1792 KB |
subtask_1_alladd_03.txt |
AC |
21 ms |
1792 KB |
subtask_1_alladd_04.txt |
AC |
21 ms |
1792 KB |
subtask_1_allsub_01.txt |
AC |
22 ms |
2296 KB |
subtask_1_allsub_02.txt |
AC |
23 ms |
2296 KB |
subtask_1_allsub_03.txt |
AC |
22 ms |
2296 KB |
subtask_1_allsub_04.txt |
AC |
22 ms |
2296 KB |
subtask_1_cont_01.txt |
AC |
12 ms |
1280 KB |
subtask_1_cont_02.txt |
AC |
10 ms |
1024 KB |
subtask_1_cont_03.txt |
AC |
8 ms |
1024 KB |
subtask_1_cont_04.txt |
AC |
3 ms |
384 KB |
subtask_1_killer_01.txt |
AC |
20 ms |
1664 KB |
subtask_1_killer_02.txt |
AC |
14 ms |
1280 KB |
subtask_1_killer_03.txt |
AC |
21 ms |
1792 KB |
subtask_1_killer_04.txt |
AC |
14 ms |
1280 KB |
subtask_1_max_01.txt |
AC |
22 ms |
2172 KB |
subtask_1_max_02.txt |
AC |
22 ms |
2172 KB |
subtask_1_max_03.txt |
AC |
22 ms |
2172 KB |
subtask_1_max_04.txt |
AC |
22 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 |
14 ms |
1408 KB |
subtask_1_rand_02.txt |
AC |
17 ms |
1664 KB |
subtask_1_rand_03.txt |
AC |
3 ms |
384 KB |
subtask_1_rand_04.txt |
AC |
8 ms |
896 KB |