P9742
#include<bits/stdc++.h>
using namespace std;
struct p{
int a;
int c;
}arr[1000010];
int t,n;
bool cmp(p x,p y){
return x.c>y.c;
}
int main(){
cin>>t;
while(t--){
memset(arr,0,sizeof(arr));
cin>>n;
for(int i=1;i<=n;i++){
cin>>arr[i].a;
}
for(int i=1;i<=n;i++){
cin>>arr[i].c;
}
int flag1=0,flag2=0;
for(int i=1;i<=n;i++){
if(arr[i].c<0){
flag1=i;
break;
}
}
for(int i=n;i>=1;i--){
if(arr[i].c>0){
flag2=i;
break;
}
}
long long int sum=0,mx=0,ans=0;
for(int i=1;i<flag1;i++)sum+=arr[i].c;
for(int i=1;i<flag1;i++)sum-=arr[i].c,mx=max(mx,sum-arr[i].c);
ans+=mx;
sum=0,mx=0;
for(int i=n;i>flag2;i--)sum-=arr[i].c;
for(int i=n;i>flag2;i--)sum+=arr[i].c,mx=max(mx,sum+arr[i].c);//q[flag2]-q[i]+arr[i].c;
ans+=mx;
for(int i=flag1;i<=flag2;i++){
ans+=abs(arr[i].c);
}
cout<<ans<<endl;
ans++;
}
return 0;
}
60分