B. 野生菌的采摘法则

    Type: Default File IO: junzi 1000ms 256MiB

野生菌的采摘法则

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

野生菌的采摘法则

题目背景

每到雨季,云南的大山里就会长满各种各样的野生菌。小明作为一名有经验的“找菌人”,发现了一大片极其罕见的野生菌群。

题目描述

这片野生菌群共有 nn 朵野生菌,每朵菌子都有一个“大小值” aia_i。 小明发现这些野生菌的地下菌丝网络是紧密相连的。如果他采摘了一朵大小值为 xx 的菌子,他就能获得 xx 的收益;但是,为了维持生态平衡和保护菌丝,所有大小值为 x1x-1x+1x+1 的野生菌都会迅速枯萎消失,无法再被采摘。

请注意:如果有多朵大小同为 xx 的菌子,当你决定采摘其中一朵时,其余同为 xx 的菌子并不会消失,你可以把它们全部采走(当然,所有 x1x-1x+1x+1 的菌子依然会全部消失)。

请你帮小明算一算,在这个神奇的法则下,他能采摘到的野生菌大小值总和最大是多少?

输入格式

第一行包含一个整数 nn,表示野生菌的总数量。 第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n,分别表示每朵野生菌的大小值。

输出格式

输出一个整数,表示小明能获得的最大大小值总和。

样例 #1

样例输入 #1

9
1 2 1 3 2 2 2 2 3

样例输出 #1

10

提示与数据范围

【样例解释】 在这个例子中,有 2 个 1,5 个 2,2 个 3。 最优策略是采摘所有的 2。获得收益 5×2=105 \times 2 = 10。同时,所有的 1 和 3 都会枯萎消失。 如果你选择采摘 1 和 3,收益为 2×1+2×3=82 \times 1 + 2 \times 3 = 8,不如前一种方案。

【数据范围】 对于 30%30\% 的数据,满足 1n201 \le n \le 20。 对于 100%100\% 的数据,满足 1n1051 \le n \le 10^51ai1051 \le a_i \le 10^5