c题这样写只过了三个数据:
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=2e5+10;
int a[N];
int flag1;
void solve()
{
int ans1=0,ans2=0,ans3=0,cnt1=0,cnt2=0;
int n;cin>>n;
for(int i=0;i<n;i++)
{
cin>>a[i];
if(a[i]<0) cnt1++;
else if(a[i]>=0) cnt2++;
}
if(cnt1==n) //如果全是负数 只最后一个加绝对值
{
for(int i=0;i<n;i++)
{
if(i==n-1) ans2=abs(ans2+a[i]);
else ans2+=a[i];
}
cout<<ans2<<endl;
}
else if(cnt2==n) //全是正数 直接相加
{
for(int i=0;i<n;i++)
ans1+=a[i];
cout<<ans1<<endl;
}
else if(cnt1!=n && cnt2!=n)
{
for(int i=0;i<n;i++)
ans3=abs(ans3+a[i]);
cout<<ans3<<endl;
}
}
signed main()
{
int t;cin>>t;
while(t--)
{
solve();
}
return 0;
}