310262: CF1806F1. GCD Master (easy version)

Memory Limit:1024 MB Time Limit:3 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

F1. GCD Master (easy version)time limit per test3 secondsmemory limit per test1024 megabytesinputstandard inputoutputstandard output

This is the easy version of the problem. The only difference between the two versions is the constraint on $m$. You can make hacks only if both versions of the problem are solved.

You are given an array $a$ of length $n$ and two integers $m$ and $k$. Each element in $a$ satisfies $1\le a_i \le m$.

In one operation, you choose two indices $i$ and $j$ such that $1 \le i < j \le |a|$, then append $\gcd(a_i,a_j)$ to the back of the array and delete $a_i$ and $a_j$ from the array. Note that the length of the array decreases by one after this operation.

Find the maximum possible sum of the array after performing exactly $k$ operations.

Input

The first line contains a single integer $t$ ($1\le t\le 10^5$) — the number of test cases. The description of test cases follows.

The first line of each test case contains three integers $n$, $m$ and $k$ ($2 \le n \le 10^6$; $1\le m \le 10^6$; $1 \le k \le n-1$).

The second line of each test case contains $n$ integers $a_1,a_2,\ldots,a_n$ ($1 \le a_i \le m$).

It is guaranteed that the sum of $n$ over all test cases does not exceed $10^6$ and the sum of $m$ over all test cases does not exceed $10^6$.

Output

For each test case, output the maximum possible sum of the array after performing $k$ operations optimally.

ExampleInput
3
3 8 1
4 7 8
5 114 2
7 2 4 1 6
3 514 2
2 3 3
Output
11
14
1
Note

In the first test case, the best way is to choose $i=1$, $j=3$ in the first operation. The final sequence is $[7,4]$.

Input

题意翻译

给定 $n, m$ 和一个长度为 $n$ 的序列 $\{a_i\} (a_i\leq m)$。 定义一次对一个长度为 $m$ 的序列的操作为,选择序列中两个下标 $1\leq i < j \leq m$,删去 $a_i$ 与 $a_j$,然后在序列末端加入 $\gcd(a_i, a_j)$。 例如,对于 $[7, 6, 2]$,一次操作可以选择下标 $2$ 与 $3$,这样操作后,序列变成 $[7, 2]$。 给定 $k$,求对序列 $\{a_i\}$ 执行 $k$ 次操作后得到序列中的数的和的最大值。

Output

题目大意:
这是一个关于最大公约数(GCD)的题目。你有一个长度为n的数组a和两个整数m和k,数组a中的每个元素满足1≤ai≤m。每次操作,你可以选择两个下标i和j(1≤i
输入数据格式:
第一行包含一个整数t(1≤t≤10^5)——测试用例的数量。接下来是每个测试用例的描述。
每个测试用例的第一行包含三个整数n、m和k(2≤n≤10^6;1≤m≤10^6;1≤k≤n-1)。
每个测试用例的第二行包含n个整数a1,a2,…,an(1≤ai≤m)。
保证所有测试用例的n之和不超过10^6,m之和也不超过10^6。

输出数据格式:
对于每个测试用例,输出执行k次操作后数组的最大可能和。

示例:
输入
```
3
3 8 1
4 7 8
5 114 2
7 2 4 1 6
3 514 2
2 3 3
```
输出
```
11
14
1
```

注意:
在第一个测试用例中,最好的操作是第一次选择i=1,j=3。最终的序列是[7,4]。题目大意: 这是一个关于最大公约数(GCD)的题目。你有一个长度为n的数组a和两个整数m和k,数组a中的每个元素满足1≤ai≤m。每次操作,你可以选择两个下标i和j(1≤i

加入题单

上一题 下一题 算法标签: