Two new shops are opening inside a new building and k kinds of items are needed to stock shelves at each store. Given the prices of n items in two shops, choose exactly k indices in such a way that the minimum sum of arrays firstShop and secondShop over these indices is maximum.
Specifically, choose exactly k indices (i[1], i[2],...., i[k]) such that the value min(a[i[1]]+a[i[2]]+.... + a[i[k]], b1+b[i[2]]+...+b[i[k]]) is maximized. Find this maximum value.
Example:-
n=5, k=3
firstShop=[6, 3, 6, 5, 1]
secondShop = [1, 4, 5, 9, 2]
Choose the subset of indices as (0, 2, 3).
The value is min(6+6+5, 1+5+9)= 15, which is the maximum possible. Return 15 as the answer
1<=N,array-values<=50
My DP Solution :- O(N*K*|sum1|*|sum2|) ; where sum1 = total sum of first array ; sum2 = total sum of second array but it TLE's how to optimize?
dp[i][k][sum1][sum2] = returns true if it is possible to select k indices from (0....i) such that array1 has sum1 and array2 has sum2.