Problem Description
There are N items in the magical pool where ith item has A[i][0] quality and A[i][1] quantity.
Robin trying to be greedy wants to maximize the total quantity of items picked but he can only pick one item at a time with the highest quality available in the pool with corresponding quantity.
Let's say the quality of item picked is X.
The pool is magical and all items in the pool with similar quality disappears and a new item with quality = floor(X/2) and quantity = X * 2 is added.
Robin will never choose the item with quality 0.
Return the maximum quantity of items Robin can pick. Since the answer could be large, return answer % 109 + 7.
1 <= N <= 105
1 <= A[i][0], A[i][1] <= 109
First and only argument is a 2D array A of size N x 2 denoting the quality and quantity of the items in the magical pool.
Return an integer denoting the maximum quantity of items Robin can pick.
Input 1:
A = [ [5, 2] [2, 11] [5, 1] [1, 3] ]
Input 2:
A = [ [1, 2] [1, 1] [2, 3] ]
Output 1:
17
Output 2:
7
Explanation 1:
Pick item with quality 5 and quantity 2. All items with quality 5 disappears i.e item [5, 1] and a new item [2, 10] is added. Pick item [2, 11]. Item [2, 10] disappears and [1, 4] is added. Pick item [1, 4]. Item [1, 3] disappears and [0, 2] is added. Now, robin can't pick any item. Total quantity = 17.
Explanation 2:
Pick item [2, 3]. Add item [1, 4]. Pick item [1, 4]. Items [1, 2] and [1, 1] disappears and [0, 2] is added. Total quantity = 7.
NOTE: You only need to implement the given function. Do not read input, instead use the arguments to the function. Do not print the output, instead return values as specified. Still have a question? Checkout Sample Codes for more details.