5940: 数列有序的最小代价 I
[Creator : ]
Description
有 $N$ 台机器重量各不相等,现在要求把这些机器按照重量排序,重量从左到右依次递增。
移动机器只能做交换操作,但交换机器要花费一定的费用,费用的大小就是交换机器重量的和。例如:$3\ 2\ 1$,交换 $1\ 2$ 后为递增排序,总的交换代价为 $1+2=3$。
这次交换有一个限制,每次交换只能交换相邻的两台机器。
给出 $N$ 台机器的重量,求将所有机器变为有序的最小代价。(机器的重量均为正整数)
移动机器只能做交换操作,但交换机器要花费一定的费用,费用的大小就是交换机器重量的和。例如:$3\ 2\ 1$,交换 $1\ 2$ 后为递增排序,总的交换代价为 $1+2=3$。
这次交换有一个限制,每次交换只能交换相邻的两台机器。
给出 $N$ 台机器的重量,求将所有机器变为有序的最小代价。(机器的重量均为正整数)
Input
第一行:一个数 $N\ (2 \leq N \leq 5*10^5)$,表示机器及房间的数量。
第 $2 \sim N + 1$ 行:每行一个数,表示机器的重量 $W_i\ (1 \leq W_i \leq 10^9)$。
第 $2 \sim N + 1$ 行:每行一个数,表示机器的重量 $W_i\ (1 \leq W_i \leq 10^9)$。
Output
输出最小代价。
Sample 1 Input
3
3
2
1
Sample 1 Output
12
第一次交换 $3\ 2$,代价为 $3+2=5$。这样机器的排列变为 $2\ 3\ 1$。
第二次交换 $3\ 1$,代价为 $3+1=4$。这样机器的佩列变为 $2\ 1\ 3$。
第三次交换 $2\ 1$,代价为 $2+1=3$。这样机器的佩列变为 $1\ 2\ 3$。
总代价为 $5+4+3=12$。
第二次交换 $3\ 1$,代价为 $3+1=4$。这样机器的佩列变为 $2\ 1\ 3$。
第三次交换 $2\ 1$,代价为 $2+1=3$。这样机器的佩列变为 $1\ 2\ 3$。
总代价为 $5+4+3=12$。