Question
What is the output of the following program?#includeint max_num(int a,int b){ if(a> b) return a; return b;}int maximum_subarray_sum(int *arr, int len){ int sum[len], idx; sum[0] = arr[0]; for(idx = 1; idx < len; idx++) sum[idx] = max_num(sum[idx - 1] + arr[idx], arr[idx]); int mx = sum[0]; for(idx = 0; idx < len; idx++) if(sum[idx] > mx) mx =sum[idx]; return mx;}int main(){ int arr[] = {-20, 23, 10, 3, -10, 11, -5},len = 7; int ans = maximum_subarray_sum(arr, len); printf("%d",ans); return 0;}
Answer: Option B
Was this answer helpful ?
The program prints the value of maximum sub-array sum, which is 37.
Was this answer helpful ?
Submit Solution