Submission #1692734


Source Code Expand

#include <bits/stdc++.h>
using namespace std;

typedef long long  LL;
int n,a[100010];
LL s,s2,ans;
char op[100010];

void work()
{
	scanf("%d %d",&n,&a[1]),s=a[1];
	for (int i=2; i<=n; i++)
		{
			do  op[i]=getchar();  while ((op[i]!='+')&&(op[i]!='-'));
			scanf("%d",&a[i]);
			if (op[i]=='+')  s+=a[i];  else  s+=a[i];
		}
	ans=-1LL<<60,op[n+1]='-',s2=1LL<<60;
	for (int i=1; i<=n+1; i++)
		if (op[i]=='-')  ans=max(ans,s-s2),s2=0,s-=2*a[i];
		else  s2+=2*a[i];
	printf("%lld",max(ans,s));
}

int main()
{
	work();
	return 0;
}

Submission Info

Submission Time
Task E - Addition and Subtraction Hard
User YMDragon
Language C++14 (GCC 5.4.1)
Score 900
Code Size 561 Byte
Status AC
Exec Time 16 ms
Memory 768 KB

Compile Error

./Main.cpp: In function ‘void work()’:
./Main.cpp:11:32: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d %d",&n,&a[1]),s=a[1];
                                ^
./Main.cpp:15:21: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
    scanf("%d",&a[i]);
                     ^

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 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 768 KB
subtask_1_alladd_02.txt AC 15 ms 768 KB
subtask_1_alladd_03.txt AC 15 ms 768 KB
subtask_1_alladd_04.txt AC 15 ms 768 KB
subtask_1_allsub_01.txt AC 16 ms 768 KB
subtask_1_allsub_02.txt AC 15 ms 768 KB
subtask_1_allsub_03.txt AC 16 ms 768 KB
subtask_1_allsub_04.txt AC 16 ms 768 KB
subtask_1_cont_01.txt AC 9 ms 512 KB
subtask_1_cont_02.txt AC 7 ms 384 KB
subtask_1_cont_03.txt AC 6 ms 384 KB
subtask_1_cont_04.txt AC 3 ms 256 KB
subtask_1_killer_01.txt AC 14 ms 768 KB
subtask_1_killer_02.txt AC 10 ms 512 KB
subtask_1_killer_03.txt AC 15 ms 768 KB
subtask_1_killer_04.txt AC 10 ms 512 KB
subtask_1_max_01.txt AC 16 ms 768 KB
subtask_1_max_02.txt AC 16 ms 768 KB
subtask_1_max_03.txt AC 16 ms 768 KB
subtask_1_max_04.txt AC 16 ms 768 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 512 KB
subtask_1_rand_02.txt AC 12 ms 640 KB
subtask_1_rand_03.txt AC 3 ms 256 KB
subtask_1_rand_04.txt AC 6 ms 384 KB