/* Lab : Lab9 Day : Tuesday [ 21 Oct 08 ] Problem Number: 03 Problem Title : pair having maximum range sum */ import java.util.Random; class sol_lab9_prob03{ public static void main(String args[]) { // Taking input from user for mumber of elements in array ( size of array ) int lengthOfArray,i,j; lengthOfArray = Integer.parseInt(args[0]); int []A = new int[lengthOfArray] ; // Generating random numbers in range 0..999 to fill in array Random rand = new Random(); for( i = 0 ; i < lengthOfArray ; i = i + 1 ) { A[i] = rand.nextInt(); A[i] = Math.abs(A[i]); A[i] = ( A[i] % 2002 ) - 1000; } System.out.println("\nEntries of array are : "); for( i = 0 ; i< lengthOfArray ; i=i+1 ) { System.out.print(" "+A[i]); } int maxSum, maxSumI, maxSumJ; maxSum = A[0] ; maxSumI = 0 ; maxSumJ = 0 ; for( i = 1 ; i <= lengthOfArray ; i = i + 1 ) for( j = 0 ; j <= lengthOfArray - i ; j = j + 1 ) { int sum, k; sum = 0; for( k = j ; k <= j + i - 1 ; k = k + 1) { sum = sum + A[k]; } if( sum > maxSum ) { maxSum = sum ; maxSumI = j ; maxSumJ = j + i - 1; } } System.out.println("\n Maximum sum is obtained by f(" + maxSumI + "," + maxSumJ + ") =" + maxSum); } }