Maximize Score After N Operations
You are given nums, an array of positive integers of size 2 * n. You must perform n operations on this array.
In the i^th operation (1-indexed), you will:
- Choose two elements,
xandy. - Receive a score of
i * gcd(x, y). - Remove
xandyfromnums.
Return the maximum score you can receive after performing n operations.
The function gcd(x, y) is the greatest common divisor of x and y.
Example 1
Input
nums = [1,2]Output
1The optimal choice is to take the only pair, giving
1 * gcd(1, 2) = 1.Example 2
Input
nums = [3,4,6,8]Output
11The optimal operations are
(1 * gcd(3, 6)) + (2 * gcd(4, 8)) = 3 + 8 = 11.Constraints
- 1 <= n <= 7
- nums.length == 2 * n
- 1 <= nums[i] <= 10^6