AT_past202306_k 入れ替えてソート

题目描述

有一个长度为 $N$ 的序列 $P = (P_1, P_2,\ldots, P_N)$,该序列是 $1,2,\ldots,N$ 的一个排列。 你可以对该序列进行如下任意次数(可以为零)的操作: - 选择一个整数 $i$,满足 $1 \leq i \leq N-1$,交换 $P$ 的第 $i$ 个元素和第 $i+1$ 个元素。此次操作的代价为被交换的两个数之和。 请计算将 $P$ 排序为升序所需的最小总代价。

输入格式

输入通过标准输入给出,格式如下: > $N\ P_1\ P_2\ \ldots\ P_N$

输出格式

输出最小总代价。

说明/提示

## 样例解释 1 例如,通过以下三次操作,可以将 $P$ 按升序排列: - 选择 $i=1$,交换 $3$ 和 $2$,代价为 $5$,序列变为 $(2,3,1,4)$。 - 选择 $i=2$,交换 $3$ 和 $1$,代价为 $4$,序列变为 $(2,1,3,4)$。 - 选择 $i=1$,交换 $2$ 和 $1$,代价为 $3$,序列变为 $(1,2,3,4)$。 由于不可能用小于 $12$ 的总代价将序列升序排列,所以答案为 $12$。 ## 样例解释 3 有时可能无需进行任何操作。 # 数据范围 - $1 \leq N \leq 2\times 10^5$ - $N$ 是整数。 - $P$ 是 $1,2,\ldots,N$ 的一个排列。 由 ChatGPT 5 翻译