StreakPeaked· Practice

ExamsGATETechnical

Consider the following C function in which size is the number of elements in the array E: 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; } The value returned by the function MyX is the

  1. maximum possible sum of elements in any sub-array of array E.
  2. maximum element in any sub-array of array E.
  3. sum of the maximum elements in all possible sub-arrays of array E.
  4. the sum of all the elements in the array E.

Correct answer: maximum possible sum of elements in any sub-array of array E.

Solution

The function calculates the maximum sum of all possible contiguous sub-arrays by iterating through each possible sub-array and comparing their sums to find the highest one, which is stored in Y.

Related GATE Technical questions

⚔️ Practice GATE Technical free + battle 1v1 →