#723. 数上动态规划

数上动态规划

题目描述

Daemo 有一个长度为 nn 的整数序列 a1,a2,…,ana_{1},a_{2},\ldots,a_{n}。

他可以从序列中选择任意多个数,每个位置上的数最多选择一次。对于一个选择方案,设选出的数之和为 SS,选出的数的最大公约数为 GG,则该方案的价值定义为 S×GS \times G。

允许一个数都不选,此时规定 S=G=0S=G=0,方案的价值为 00。

请你帮助 Daemo 求出所有选择方案中,最大的价值是多少。

输入格式

第一行包含一个整数 nn(1≤n≤5001 \le n \le 500),表示序列的长度。

第二行包含 nn 个整数 a1,a2,…,ana_{1},a_{2},\ldots,a_{n}(1≤ai≤10001 \le a_{i} \le 1000),表示序列中的元素。

输出格式

输出一行,包含一个整数,表示所有选择方案中的最大价值。

4
6 10 6 6
108

样例解释

  • 选择的数不需要在原序列中连续。

  • 数值相同但下标不同的元素可以分别选择,每个元素最多选择一次。

  • 如果只选择一个数 aia_{i},则 S=G=aiS=G=a_{i},该方案的价值为 ai2a_{i}^{2}。

  • 如果一个数都不选,则该方案的价值为 00。