fork download
  1. #include<iostream>
  2. #include<algorithm>
  3. using namespace std;
  4. int kadan(int a[],int n)
  5. {
  6. int cs=0;
  7. int ms=0;
  8. for(int i=0;i<n;i++){
  9. cs=cs+a[i];
  10. if(cs<0)
  11. {
  12. cs=0;
  13.  
  14. }
  15. ms=max(cs,ms);
  16. }
  17. return ms;
  18. }
  19. int main() {
  20.  
  21. int t;
  22. cin>>t;
  23. while(t--)
  24. {
  25. int n;
  26. cin>>n;
  27. int sum=0;
  28. int a[n];
  29. int c[n];
  30. for(int i=0;i<n;i++)
  31. {
  32. cin>>a[i];
  33. }
  34. for(int i=0;i<n;i++)
  35. {
  36. c[i]=-a[i];
  37. }
  38. for(int i=0;i<n;i++)
  39. {
  40. sum=sum+a[i];
  41. }
  42.  
  43. cout<<sum+kadan(c,n)<<endl;
  44. }
  45. return 0;
  46. }
Success #stdin #stdout 0s 4308KB
stdin
2
8
10  -3  -4  7  6  5  -4  -1
9
11 10 -20 5 -3 -5 8 -13 10
stdout
23
31