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
AC × 3
AC × 29
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