MCQ Practice

What is the output of the following code? #include #include int max_num(int a, int b) { if(a > b) return a; return b; } int kadane_algo(int *arr, int len) { int ans, sum, idx; ans =0; sum =0; for(idx =0; idx < len; idx++) { sum = max_num(0,sum + arr[idx]); ans = max_num(sum,ans); } return ans; } int max_sum_rectangle(int arr[][5],int row,int col) { int left, right, tmp[row], mx_sm = INT_MIN, idx, val; for(left = 0; left < col; left++) { for(right = left; right < col; right++) { if(right == left) { for(idx = 0; idx < row; idx++) tmp[idx] = arr[idx][right]; } else { for(idx = 0; idx mx_sm) mx_sm = val; } } return mx_sm; } int main() { int arr[2][5] ={{1, 2, -1, -4, -20}, {-4, -1, 1, 7, -6}}; int row = 2, col = 5; int ans = max_sum_rectangle(arr,row,col); printf("%d",ans); return 0; }

A

7

B

8

C

9

D

10

Correct Answer: B