• Source
    1. #include<bits/stdc++.h>
    2. using namespace std;
    3. #define endl '\n'
    4. #define int long long int
    5. const int MOD = 1000000007;
    6. const int MOD2 = 998244353;
    7. const int INF = LLONG_MAX / 2;
    8. const int MAXN = 100000;
    9. int primes[1000000];
    10.  
    11. /*void seive() {
    12.   fill(primes, primes + 1000000, 1);
    13.   primes[0] = primes[1] = 0;
    14.   for (int i = 2; i * i < 1000000; i++) {
    15.   if (primes[i]) {
    16.   for (int j = i * i; j < 1000000; j += i) {
    17.   primes[j] = 0;
    18.   }
    19.   }
    20.   }
    21. }
    22.  
    23. bool isPrime(int n) {
    24.   if (n <= 1) return false;
    25.   for (int i = 2; i * i <= n; i++) {
    26.   if (n % i == 0) return false;
    27.   }
    28.   return true;
    29. }
    30.  
    31. int gcd(int a, int b) {
    32.   if (a == 0) return b;
    33.   return gcd(b % a, a);
    34. }
    35.  
    36. int power(int a, int b, int mod) {
    37.   int res = 1;
    38.   a %= mod;
    39.   while (b > 0) {
    40.   if (b & 1) res = res * a % mod;
    41.   a = a * a % mod;
    42.   b >>= 1;
    43.   }
    44.   return res;
    45. }
    46.  
    47. // nCr % MOD for n < MOD
    48. int nCrModP(int n, int r) {
    49.   if (r > n) return 0;
    50.   if (r == 0 || r == n) return 1;
    51.  
    52.   int numerator = 1, denominator = 1;
    53.   for (int i = 0; i < r; i++) {
    54.   numerator = (numerator * (n - i)) % MOD;
    55.   denominator = (denominator * (i + 1)) % MOD;
    56.   }
    57.   return (numerator * power(denominator, MOD - 2, MOD)) % MOD;
    58. }
    59.  
    60. // Lucas's Theorem
    61. int lucas(int n, int r) {
    62.   if (r == 0) return 1;
    63.   return (lucas(n / MOD, r / MOD) * nCrModP(n % MOD, r % MOD)) % MOD;
    64. }*/
    65. void solve() {
    66. int n;
    67. cin>>n;
    68. int A[n];
    69. int total = 0;
    70. for(int i = 0 ; i<n ; i++){
    71. cin>>A[i];
    72. total += A[i];
    73. }
    74. int p4[n],p2[n];
    75. p4[n-1] = A[n-1];
    76. int sum = A[n-1];
    77. for(int i = n-2 ; i>=0 ; i--){
    78. sum += A[i];
    79. p4[i] = min((p4[i+1]),sum);
    80. }
    81. sum = 0;
    82. for(int i = 0 ; i<n ; i++){
    83. p2[i] = min(A[i],(sum+A[i]));
    84. }
    85. int ans = LLONG_MAX;
    86. ans = min(p2[n-1],p4[0]);
    87. for(int i = 0 ; i<n-1 ; i++){
    88. int d = min(0LL,p2[i])+min(0LL,p4[i+1]);
    89. ans = min(ans,d);
    90. }
    91. cout<<total-(2*ans)<<endl;
    92. }
    93. signed main() {
    94. ios::sync_with_stdio(false); cin.tie(NULL);
    95. int t;
    96. cin >> t;
    97. while (t--) {
    98. solve();
    99. }
    100. return 0;
    101. }
    102.