fork download
  1. #include<bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. #define ll long long
  6.  
  7. int main()
  8. {
  9. int tests, n;
  10.  
  11. cin >> tests;
  12.  
  13. while (tests--)
  14. {
  15. cin >> n;
  16.  
  17. vector <ll> a(n + 1), dp(n + 1), dp_with_delete(n + 1);
  18.  
  19. ll mx = INT_MIN;
  20.  
  21. for (int i = 1; i <= n; i++)
  22. {
  23. cin >> a[i];
  24.  
  25. dp[i] = max(dp[i - 1] + a[i], a[i]);
  26.  
  27. mx = max(mx, dp[i]);
  28. }
  29.  
  30. for (int i = 2; i <= n; i++)
  31. {
  32. dp_with_delete[i] = max(dp_with_delete[i - 1] + a[i], dp[i - 1]);
  33.  
  34. mx = max(mx, dp_with_delete[i]);
  35. }
  36.  
  37. cout << mx <<"\n";
  38. }
  39. }
Success #stdin #stdout 0s 5496KB
stdin
2
5
1 -2 3 -2 5
2
-1 -2
stdout
8
-1