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 |
|
|
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 |