1799.Maximize Score After N Operations
===
###### tags: `Hard`,`Array`,`Math`,`Backtracking`,`Bit Manipulation`
[1799. Maximize Score After N Operations](https://leetcode.com/problems/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, `x` and `y`.
* Receive a score of `i * gcd(x, y)`.
* Remove `x` and `y` from `nums`.
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: 1
Explanation: The optimal choice of operations is:
(1 * gcd(1, 2)) = 1
```
**Example 2:**
```
Input: nums = [3,4,6,8]
Output: 11
Explanation: The optimal choice of operations is:
(1 * gcd(3, 6)) + (2 * gcd(4, 8)) = 3 + 8 = 11
```
**Example 3:**
```
Input: nums = [1,2,3,4,5,6]
Output: 14
Explanation: The optimal choice of operations is:
(1 * gcd(1, 5)) + (2 * gcd(2, 4)) + (3 * gcd(3, 6)) = 1 + 4 + 9 = 14
```
**Constraints**:
* 1 <= `n` <= 7
* `nums.length` == `2 * n`
* 1 <= `nums[i]` <= 10^6^
### 解答
### Reference
[回到題目列表](https://hackmd.io/@Marsgoat/leetcode_every_day)