MCQ Practice

What will be the value stored in max_value when the following code is executed? #include #include int max_of_two(int a, int b) { if(a > b) return a; return b; } int rod_cut(int *prices, int len) { int max_price = INT_MIN; // INT_MIN is the min value an integer can take int i; if(len <= 0 ) return 0; for(i = 0; i < len; i++) // subtract 1 because index starts from 0 max_price = max_of_two(prices[i] + rod_cut(prices,len - i - 1), max_price); return max_price; } int main() { int prices[]={2, 5, 6, 9, 9, 17, 17, 18, 20, 22},len_of_rod = 3; int ans = rod_cut(prices, len_of_rod); printf("%d",ans); return 0; }

A

5

B

6

C

7

D

8

Correct Answer: C