fork(1) download
  1. #include <iostream>
  2. #include<bits/stdc++.h>
  3. using namespace std;
  4.  
  5. int main() {
  6. int n=0;
  7. int m=0;
  8. cin>>n;
  9. for(int p=0;p<n;p++){
  10. cin>>m;
  11. int arr[m];
  12. int sum=0;
  13. int count=0;
  14. int max_sum=0;
  15. int semi_sum=0;
  16. for(int j=0;j<m;j++){
  17. cin>>arr[j];
  18. }
  19. for(int i=0;i<m;i++){
  20. sum=0;
  21. semi_sum=0;
  22. if(arr[i]<0){
  23. sum=arr[i];
  24. semi_sum=arr[i];
  25. if(max_sum==0){
  26. max_sum=arr[i];
  27. }
  28. }
  29. for(int j=i;j<m;j++){
  30. if(sum+arr[j]<sum){
  31. if(semi_sum<sum){
  32. semi_sum=sum;
  33. };
  34. }
  35. sum=sum+arr[j];
  36. if(semi_sum<sum){
  37. semi_sum=sum;
  38. }
  39. //cout<<sum<<" "<<semi_sum<<" "<<endl;
  40. }
  41. if(max_sum<semi_sum){
  42. max_sum=semi_sum;
  43. }
  44. }
  45. cout<<max_sum<<endl;
  46. }
  47. return 0;
  48. }
Success #stdin #stdout 0s 4324KB
stdin
2
5
1 2 3 -2 5
4
-1 -2 -3 -4
stdout
9
-1