代码:
#include<bits/stdc++.h>
#define int long long
using namespace std;
int T,n,a[200005],lft[200005],r,l,ans;
int work1()
{
int num=0;
for(int i=1;i<r;i++)
{
num=max(num,lft[r]-lft[i]-a[i]);
}
return num;
}
int work2()
{
int num=0;
for(int i=n;i>l;i--)
{
num=max(num,lft[i-1]-lft[l-1]+a[i]);
}
return num;
}
signed main()
{
cin>>T;
while(T--)
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
lft[0]=0;
for(int i=1;i<=n;i++)
{
cin>>a[i];
lft[i]=lft[i-1]+a[i];
}
r=0;
for(int i=1;i<=n;i++)
{
if(a[i]<0)break;
r=i;
}
l=n+1;
for(int i=n;i>=1;i--)
{
if(a[i]>0)break;
l=i;
}
ans=0;
for(int i=r+1;i<l;i++)
{
ans+=abs(a[i]);
}
cout<<ans+work1()+work2()<<"\n";
}
}