import java.io.*; import java.util.*; import java.text.*; import java.math.*; import java.util.regex.*; public class Solution { static int[] maxSubArraySum(int a[], int size) { int max_so_far = Integer.MIN_VALUE, max_ending_here = 0,start = 0, end = 0, s = 0; for (int i = 0; i < size; i++) { max_ending_here += a[i]; if (max_so_far < max_ending_here) { max_so_far = max_ending_here; start = s; end = i; } if (max_ending_here < 0) { max_ending_here = 0; s = i + 1; } } /*System.out.println("Maximum contiguous sum is " + max_so_far); System.out.println("Starting index " + start); System.out.println("Ending index " + end);*/ int j=0; int[] b=new int[end-start+1]; for(int i=start;i<=end;i++) { b[j]=a[i];j++; } return b; } static long largestValue(int[] A) { // Return the largest value of any of A's nonempty subarrays. int n=A.length; //int[] c=new int[n]; int[] c=maxSubArraySum(A, n); long l=0; for(int i=0;i