Submission #1217302
Source Code Expand
#include <cstdio> #include <cstring> #include <vector> #include <queue> #include <string> #include <algorithm> #include <iostream> #include <string> #include <map> #include <set> #include <functional> #include <iostream> #define INF 1000000007LL using namespace std; typedef long long ll; typedef pair<int,int> P; int n; ll a[100005]; int op[100005]; ll dp[100005][10]; int main(void){ scanf("%d",&n); for(int i=0;i<n;i++){ scanf("%lld%*c",&a[i]); if(i!=n-1){ char c; scanf("%c%*c",&c); if(c=='+')op[i+1]=1; else op[i+1]=-1; } } op[0]=1; for(int i=0;i<=n;i++){ for(int j=0;j<10;j++){ dp[i][j]=-(ll)(INF)*n; } } dp[0][0]=0; for(int i=0;i<n;i++){ for(int j=0;j<9;j++){ int cp=op[i]; if(j%2==1)cp=-cp; dp[i+1][j]=max(dp[i+1][j],(ll)dp[i][j]+a[i]*cp); if(op[i]==-1){ dp[i+1][j+1]=max(dp[i+1][j+1],(ll)dp[i][j]+a[i]*cp); } if(j>0){ dp[i+1][j-1]=max(dp[i+1][j-1],(ll)dp[i][j]+a[i]*cp); } } } printf("%lld\n",dp[n][0]); return 0; }
Submission Info
Submission Time | |
---|---|
Task | E - Addition and Subtraction Hard |
User | ryoissy |
Language | C++14 (GCC 5.4.1) |
Score | 900 |
Code Size | 1052 Byte |
Status | AC |
Exec Time | 29 ms |
Memory | 9216 KB |
Compile Error
./Main.cpp: In function ‘int main()’: ./Main.cpp:24:16: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d",&n); ^ ./Main.cpp:26:25: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%lld%*c",&a[i]); ^ ./Main.cpp:29:21: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%c%*c",&c); ^
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 | 2 ms | 2304 KB |
sample_02.txt | AC | 2 ms | 2304 KB |
sample_03.txt | AC | 2 ms | 2304 KB |
subtask_1_alladd_01.txt | AC | 28 ms | 9216 KB |
subtask_1_alladd_02.txt | AC | 28 ms | 9216 KB |
subtask_1_alladd_03.txt | AC | 28 ms | 9216 KB |
subtask_1_alladd_04.txt | AC | 28 ms | 9216 KB |
subtask_1_allsub_01.txt | AC | 28 ms | 9216 KB |
subtask_1_allsub_02.txt | AC | 28 ms | 9216 KB |
subtask_1_allsub_03.txt | AC | 28 ms | 9216 KB |
subtask_1_allsub_04.txt | AC | 28 ms | 9216 KB |
subtask_1_cont_01.txt | AC | 17 ms | 8832 KB |
subtask_1_cont_02.txt | AC | 13 ms | 6656 KB |
subtask_1_cont_03.txt | AC | 12 ms | 6656 KB |
subtask_1_cont_04.txt | AC | 4 ms | 2944 KB |
subtask_1_killer_01.txt | AC | 26 ms | 9216 KB |
subtask_1_killer_02.txt | AC | 20 ms | 8960 KB |
subtask_1_killer_03.txt | AC | 27 ms | 9216 KB |
subtask_1_killer_04.txt | AC | 20 ms | 8960 KB |
subtask_1_max_01.txt | AC | 29 ms | 9216 KB |
subtask_1_max_02.txt | AC | 29 ms | 9216 KB |
subtask_1_max_03.txt | AC | 29 ms | 9216 KB |
subtask_1_max_04.txt | AC | 29 ms | 9216 KB |
subtask_1_min_01.txt | AC | 2 ms | 2304 KB |
subtask_1_min_02.txt | AC | 2 ms | 2304 KB |
subtask_1_rand_01.txt | AC | 19 ms | 8960 KB |
subtask_1_rand_02.txt | AC | 22 ms | 8960 KB |
subtask_1_rand_03.txt | AC | 4 ms | 3072 KB |
subtask_1_rand_04.txt | AC | 11 ms | 6656 KB |