T643061 [CS-M5-F] 决斗

题目背景

**Allen** 和 **Ark** 进行算法决斗!其实这是学会内部从未公开的传统节目!!!每年都会悄悄的进行,从未向外透露风声,但是这次 **学会误导** 经历了千辛万苦终于尽到了他 **向导** 的职责,把他们决斗的题目偷了出来供给学会的会员进行学习,为了不辜负 **学会误导** 的一片好心,请务必将这道题目做出来!

题目描述

有一个长度为 $n$ 的数组 $a$ 。你每轮可以进行 $0$ 次或多次下面的操作: - 选择一个元素 $a_i$ ,将数组中所有等于 $a_i$ 的数字删除,并将你的分数添加为删除的总和 $+$ $a_i$ 在 **原来的数组** 中所有小于 $a_i$ 的个数 具体来说,您的分数初始为 $0$,在任意一次操作中,如果选择数组中的某个数 $a_i$ ,会删除所有等于 $a_i$ 的数字,将其加到分数中,并得到 $a_i$ 在**原来的数组中**数字小于 $a_i$ 的**个数**的分数。 你的任务是计算可以得到的最大分数。

输入格式

第一行输入一个整数 $n$ 第二行输入 $n$ 个整数,代表着 $a_i$

输出格式

输出一行一个整数,代表着可以得到的最大分数

说明/提示

【样例解析】 ##### 样例1: 删除 $i = 3$ 的数,得到 $1$ 分。\ 删除 $i = 2$ 的数,得到 $5$ 分。因为删除了数组中所有等于 $2$ 的数字,你得到了 $4$ 分,然后再额外加上原数组中比 $2$ 小的数字的个数,你得到了 $1$ 分。 \ 删除 $i = 5$ 的数,得到 $6$ 分\ 删除 $i = 1$ 的数,得到 $9$ 分\ 所以您的总分为 $1 + 5 + 6 + 9 = 21$ 分。 可以证明这是你能得到的最大的分数值 【数据范围】 对于前 $20\%$ 的数据,保证 $1 \le n \le 100,1 \le a_i \le 1000$ 对于 $100\%$ 的数据,保证 $1\le n \le 2 \times10^5,1\le a_i \le 10^9$