Submission #1695980
Source Code Expand
#include<bits/stdc++.h> #define N 200005 #define LL long long using namespace std; LL val[N];//- + - + LL suf[N]; int n; int main(){ scanf("%d",&n); scanf("%lld",&val[1]); int cnt=1; for(int i=2,t,last='+';i<=n;i++){ char ch=getchar(); while(ch!='+'&&ch!='-') ch=getchar(); scanf("%d",&t); if(ch=='+'&&last=='+') val[cnt]+=t; else if(ch!=last) val[++cnt]=t; else val[++cnt]=0,val[++cnt]=t; last=ch; } for(int i=cnt;i>=1;i--) suf[i]=suf[i+1]+val[i]; LL pre=0,ans=-1e18; for(int i=1;i<=cnt;i++){ pre+=val[i]*(i%2==0 ? -1:1); if(i%2==0){ ans=max(ans,pre-val[i+1]+suf[i+2]); } } ans=max(ans,pre); cout<<ans<<endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | E - Addition and Subtraction Hard |
User | Wuvin |
Language | C++14 (GCC 5.4.1) |
Score | 900 |
Code Size | 688 Byte |
Status | AC |
Exec Time | 17 ms |
Memory | 3328 KB |
Compile Error
./Main.cpp: In function ‘int main()’: ./Main.cpp:9:16: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d",&n); ^ ./Main.cpp:10:23: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%lld",&val[1]); ^ ./Main.cpp:15:17: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d",&t); ^
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 | 15 ms | 256 KB |
subtask_1_alladd_02.txt | AC | 15 ms | 256 KB |
subtask_1_alladd_03.txt | AC | 15 ms | 256 KB |
subtask_1_alladd_04.txt | AC | 15 ms | 256 KB |
subtask_1_allsub_01.txt | AC | 17 ms | 3328 KB |
subtask_1_allsub_02.txt | AC | 17 ms | 3328 KB |
subtask_1_allsub_03.txt | AC | 17 ms | 3328 KB |
subtask_1_allsub_04.txt | AC | 17 ms | 3328 KB |
subtask_1_cont_01.txt | AC | 9 ms | 1024 KB |
subtask_1_cont_02.txt | AC | 7 ms | 768 KB |
subtask_1_cont_03.txt | AC | 6 ms | 768 KB |
subtask_1_cont_04.txt | AC | 2 ms | 384 KB |
subtask_1_killer_01.txt | AC | 14 ms | 256 KB |
subtask_1_killer_02.txt | AC | 10 ms | 256 KB |
subtask_1_killer_03.txt | AC | 14 ms | 256 KB |
subtask_1_killer_04.txt | AC | 10 ms | 256 KB |
subtask_1_max_01.txt | AC | 16 ms | 1792 KB |
subtask_1_max_02.txt | AC | 16 ms | 1792 KB |
subtask_1_max_03.txt | AC | 16 ms | 1792 KB |
subtask_1_max_04.txt | AC | 16 ms | 1792 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 | 1152 KB |
subtask_1_rand_02.txt | AC | 12 ms | 1408 KB |
subtask_1_rand_03.txt | AC | 2 ms | 384 KB |
subtask_1_rand_04.txt | AC | 6 ms | 768 KB |