fork download
  1. import java.util.Scanner;
  2.  
  3. public class Main {
  4. public static int maxSubarraySum(int[] arr) {
  5. int n = arr.length - 1;
  6.  
  7. int best = 0;
  8. int curr = 0;
  9.  
  10. for (int i = 1; i <= n; i++) {
  11. curr = Math.max(arr[i], curr + arr[i]);
  12. if (curr < 0) curr = 0;
  13. best = Math.max(best, curr);
  14. }
  15.  
  16. return best;
  17. }
  18.  
  19. public static void main(String[] args) {
  20. Scanner sc = new Scanner(System.in);
  21.  
  22. int n = sc.nextInt();
  23. int[] arr = new int[n + 1];
  24. for (int i = 1; i <= n; i++) {
  25. arr[i] = sc.nextInt();
  26. }
  27.  
  28. int ans = maxSubarraySum(arr);
  29. System.out.println("Maximum subarray sum is " + ans);
  30. }
  31. }
  32.  
Success #stdin #stdout 0.17s 57052KB
stdin
5
6 -3 -5 15 6 
stdout
Maximum subarray sum is 21