AT_indeednow_2015_finalb_e Line up!

题目描述

Indeed 公司的 $N$ 位员工站成一列,从左到右依次排列。每位员工都有一个确定的身高,只有当一名员工比他左侧的所有员工都高时,从左边看才可以看到他的脸。 这些员工的顺序已经固定,但我们可以自由地交换相邻两名员工的顺序,且可以进行无限次交换。每次交换的代价是较矮的那位员工的身高。 总代价是所有交换操作的代价之和。 A 希望能从左侧看到所有员工的脸,只有达成这种排列他才会满意。 你的任务是,根据员工的身高计算出要使 A 满意所需的最小总代价。如果无论如何调整顺序都无法满足 A 的要求,你需要输出 `-1`。

输入格式

输入以以下格式给出: > $N$ $H_1$ $H_2$ … $H_N$ - 第一行包含一个整数 $N\ (1 \le N \le 10^5)$,表示员工的数目。 - 第二行包含 $N$ 个空格分隔的整数,表示员工的身高。从左到右,第 $i(1 \le i \le N)$ 个整数 $H_i\ (1 \le H_i \le 10^8)$ 是员工的具体身高。

输出格式

输出一个整数,即使 A 满意所需的最小总代价。如果无法满足 A 的要求,输出 `-1`。输出末尾需要添加一个换行符。

说明/提示

### 部分得分 - 若能正确处理 $1 \le N \le 1000$ 的情况,将获得 $30$ 分。 - 若能处理所有测试用例(包括大范围数据),将获得额外 $70$ 分。 ### 示例解释 1 如果我们将身高调整为 $1, 2, 3, 4$ 的顺序,就可以从左侧看见所有员工的脸,从而使 A 满意。这种情况下的最少总代价为 $8$,可以通过以下步骤实现: 1. 交换身高为 $4$ 的人与身高为 $1$ 的人,代价是 $1$,新顺序是 $1, 4, 3, 2$。 2. 交换身高为 $4$ 的人与身高为 $3$ 的人,代价是 $3$,新顺序是 $1, 3, 4, 2$。 3. 交换身高为 $4$ 的人与身高为 $2$ 的人,代价是 $2$,新顺序是 $1, 3, 2, 4$。 4. 最后,交换身高为 $3$ 的人与身高为 $2$ 的人,代价是 $2$,最终顺序是 $1, 2, 3, 4$。 ### 示例解释 2 如果有两个人的身高相同,无论如何排布都无法同时看到他们的脸。因此需要输出 `-1`。 **本翻译由 AI 自动生成**