所有样例都通过了,自己编了几组数据也都通过了,自己编的数据如下
7
-1 -2 20 -100 10 -2 -3
5
100 -3 -4 -1 -5
5
-1 -2 -3 -4 100
5
-1 -2 -3 -4 8
5
8 -1 -2 -3 -4
但就是提示6号测试点WA了,求大佬帮看看还有啥情况是我没考虑到的,代码如下
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long n,i,sum=0,min=0,md=0,ml=0,mr=0,max=0;
bool t=true;
cin>>n;
long long a[n+1],b[n+1];
a[0]=0;
b[n]=0;
for(i=1;i<=n;i++)
{
cin>>a[i];
b[i-1]=a[i];
sum+=a[i];
if(a[i]>0)
t=false;
a[i]+=a[i-1];
if(a[i]-min>max)
{
max=a[i];
ml=md;
mr=i;
}
if(a[i]<min)
{
min=a[i];
md=i;
}
}
if(t)
{
cout<<0-sum;
return 0;
}
for(i=n-1;i>=0;i--)
b[i]+=b[i+1];
cout<<sum-2*a[ml]-2*b[mr];
return 0;
}