fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main()
  5. {
  6. int n;
  7. cin >> n; // 5
  8.  
  9. int b[n];
  10. for(int i = 0; i < n; i++)
  11. {
  12. cin >> b[i]; // 5 -3 -5 15 5
  13. }
  14.  
  15. // index: 0 1 2 3 4
  16. // array: 5 -3 -5 15 5
  17.  
  18. int sum = 0;
  19. int t = 0;
  20.  
  21. for(int i = 0; i < n; i++)
  22. {
  23. sum = 0; // Reset sum for every new starting index
  24.  
  25. for(int j = i; j < n; j++)
  26. {
  27. // i = 0, j = 0
  28. // sum = 0 + b[0] = 0 + 5 = 5
  29. // t = max(0, 5) = 5
  30.  
  31. // i = 0, j = 1
  32. // sum = 5 + b[1] = 5 + (-3) = 2
  33. // t = max(5, 2) = 5
  34.  
  35. // i = 0, j = 2
  36. // sum = 2 + b[2] = 2 + (-5) = -3
  37. // t = max(5, -3) = 5
  38.  
  39. // i = 0, j = 3
  40. // sum = -3 + b[3] = -3 + 15 = 12
  41. // t = max(5, 12) = 12
  42.  
  43. // i = 0, j = 4
  44. // sum = 12 + b[4] = 12 + 5 = 17
  45. // t = max(12, 17) = 17
  46.  
  47. // Now j finishes. i moves to 1.
  48. // sum resets to 0.
  49.  
  50. // i = 1, j = 1
  51. // sum = 0 + b[1] = 0 + (-3) = -3
  52. // t = max(17, -3) = 17
  53.  
  54. // i = 1, j = 2
  55. // sum = -3 + b[2] = -3 + (-5) = -8
  56. // t = max(17, -8) = 17
  57.  
  58. // i = 1, j = 3
  59. // sum = -8 + b[3] = -8 + 15 = 7
  60. // t = max(17, 7) = 17
  61.  
  62. // i = 1, j = 4
  63. // sum = 7 + b[4] = 7 + 5 = 12
  64. // t = max(17, 12) = 17
  65.  
  66. // Now j finishes. i moves to 2.
  67. // sum resets to 0.
  68.  
  69. // i = 2, j = 2
  70. // sum = 0 + b[2] = 0 + (-5) = -5
  71. // t = max(17, -5) = 17
  72.  
  73. // i = 2, j = 3
  74. // sum = -5 + b[3] = -5 + 15 = 10
  75. // t = max(17, 10) = 17
  76.  
  77. // i = 2, j = 4
  78. // sum = 10 + b[4] = 10 + 5 = 15
  79. // t = max(17, 15) = 17
  80.  
  81. // Now j finishes. i moves to 3.
  82. // sum resets to 0.
  83.  
  84. // i = 3, j = 3
  85. // sum = 0 + b[3] = 0 + 15 = 15
  86. // t = max(17, 15) = 17
  87.  
  88. // i = 3, j = 4
  89. // sum = 15 + b[4] = 15 + 5 = 20
  90. // t = max(17, 20) = 20
  91.  
  92. // Now j finishes. i moves to 4.
  93. // sum resets to 0.
  94.  
  95. // i = 4, j = 4
  96. // sum = 0 + b[4] = 0 + 5 = 5
  97. // t = max(20, 5) = 20
  98.  
  99. sum = sum + b[j];
  100. t = max(t, sum);
  101. }
  102. }
  103.  
  104. cout << t; // Output: 20
  105. }
Success #stdin #stdout 0.02s 5308KB
stdin
Standard input is empty
stdout
2147479979