Submission #1218252
Source Code Expand
// In the name of Allah // #Isart #include<bits/stdc++.h> #define pii pair<int, int> #define pb push_back #define F first #define S second #define ll long long #define ld long double using namespace std; const int MAXN = 1e5 + 10; ll a[MAXN], dp[MAXN], ps[MAXN]; int r[MAXN]; int main(){ ios::sync_with_stdio(false); cin.tie(0); int n, s = 1; cin >> n; for(int i = 0; i < n; i ++){ char ch = '+'; if(i) cin >> ch; if(ch == '+') s = 1; else s = -1; cin >> a[i]; a[i] *= s; } for(int i = n - 1; i > -1; i --) ps[i] = ps[i + 1] + abs(a[i]); for(int i = n - 1; i > -1; i --){ if(a[i] > 0 and a[i + 1] <= 0) r[i] = i; else r[i] = r[i + 1]; } for(int i = n - 1; i > -1 ; i --){ if(a[i] >= 0) dp[i] = dp[i + 1] + a[i]; else if(a[i] < 0 and a[i + 1] < 0) dp[i] = a[i] + ps[i + 1]; else if(a[i] < 0 and a[i + 1] > 0) dp[i] = max(a[i] + dp[i + 1], 2 * ps[r[i] + 1] - ps[i]); } cout << dp[0] << endl; // system("pause"); return 0; }
Submission Info
Submission Time | |
---|---|
Task | E - Addition and Subtraction Hard |
User | MODSART |
Language | C++14 (GCC 5.4.1) |
Score | 900 |
Code Size | 1032 Byte |
Status | AC |
Exec Time | 15 ms |
Memory | 2944 KB |
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 | 14 ms | 2944 KB |
subtask_1_alladd_02.txt | AC | 14 ms | 2944 KB |
subtask_1_alladd_03.txt | AC | 14 ms | 2944 KB |
subtask_1_alladd_04.txt | AC | 14 ms | 2944 KB |
subtask_1_allsub_01.txt | AC | 14 ms | 2944 KB |
subtask_1_allsub_02.txt | AC | 14 ms | 2944 KB |
subtask_1_allsub_03.txt | AC | 14 ms | 2944 KB |
subtask_1_allsub_04.txt | AC | 14 ms | 2944 KB |
subtask_1_cont_01.txt | AC | 8 ms | 1792 KB |
subtask_1_cont_02.txt | AC | 6 ms | 1408 KB |
subtask_1_cont_03.txt | AC | 5 ms | 1152 KB |
subtask_1_cont_04.txt | AC | 2 ms | 512 KB |
subtask_1_killer_01.txt | AC | 13 ms | 2816 KB |
subtask_1_killer_02.txt | AC | 9 ms | 2048 KB |
subtask_1_killer_03.txt | AC | 13 ms | 2944 KB |
subtask_1_killer_04.txt | AC | 9 ms | 2048 KB |
subtask_1_max_01.txt | AC | 15 ms | 2944 KB |
subtask_1_max_02.txt | AC | 15 ms | 2944 KB |
subtask_1_max_03.txt | AC | 15 ms | 2944 KB |
subtask_1_max_04.txt | AC | 15 ms | 2944 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 | 10 ms | 1920 KB |
subtask_1_rand_02.txt | AC | 11 ms | 2176 KB |
subtask_1_rand_03.txt | AC | 2 ms | 512 KB |
subtask_1_rand_04.txt | AC | 5 ms | 1024 KB |