Open In App
Related Articles

GATE | GATE-CS-2014-(Set-1) | Question 50

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Report issue
Report
Consider the following C function in which size is the number of elements in the array E: The value returned by the function MyX is the
int MyX(int *E, unsigned int size)
{
    int Y = 0;
    int Z;
    int i, j, k;
    for(i = 0; i < size; i++)
        Y = Y + E[i];
    for(i = 0; i < size; i++)
        for(j = i; j < size; j++)
        {
            Z = 0;
            for(k = i; k <= j; k++)
                Z = Z + E[k];
            if (Z > Y)
                Y = Z;
        }
    return Y;
}

                    
(A) maximum possible sum of elements in any sub-array of array E. (B) maximum element in any sub-array of array E. (C) sum of the maximum elements in all possible sub-arrays of array E (D) the sum of all the elements in the array E.

Answer: (A)

Explanation: Explanation: The function does following Y is used to store maximum sum seen so far and Z is used to store current sum 1) Initialize Y as sum of all elements 2) For every element, calculate sum of all subarrays starting with arr[i]. Store the current sum in Z. If Z is greater than Y, then update Y.

Quiz of this Question

Last Updated : 28 Jun, 2021
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads