题库练习 Divan and Kostomuksha (hard version)
← 上一题 下一题 →

A14699 | Divan and Kostomuksha (hard version)

时间限制1s
内存限制256MB
通过 / 提交0/0

题目描述

This is the hard version of the problem. The only difference is maximum value of $a_i$ .

Once in Kostomuksha Divan found an array $a$ consisting of positive integers. Now he wants to reorder the elements of $a$ to maximize the value of the following function:
$$ \sum_{i=1}^n \operatorname{gcd}(a_1, \, a_2, \, \dots, \, a_i), $$
where $\operatorname{gcd}(x_1, x_2, \ldots, x_k)$ denotes the [greatest common divisor](https://en.wikipedia.org/wiki/Greatest_common_divisor) of integers $x_1, x_2, \ldots, x_k$ , and $\operatorname{gcd}(x) = x$ for any integer $x$.

Reordering elements of an array means changing the order of elements in the array arbitrary, or leaving the initial order.

Of course, Divan can solve this problem. However, he found it interesting, so he decided to share it with you.

输入格式

The first line contains a single integer $n$ ( $1 \leq n \leq 10^5$ ) — the size of the array $a$ .

The second line contains $n$ integers $a_{1}, \, a_{2}, \, \dots, \, a_{n}$ ( $1 \le a_{i} \le 2 \cdot 10^7$ ) — the array $a$ .

输出格式

Output the maximum value of the function that you can get by reordering elements of the array $a$ .

输入输出样例

输入 #1
6
2 3 1 2 6 2
输出 #1
14
输入 #2
10
5 7 10 3 1 10 100 3 42 54
输出 #2
131
C++ 编辑器
输入
输出