2678: 【竞赛】最佳策略

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:0 解决:0

题目描述

有n个小朋友排成一排,现在需要按身高从低到高的顺序进行排列。排序方式为∶如果位置相邻的两个小朋友不符合从低到高的顺序,就交换这两个小朋友的位置。且每个小朋友都有一个不高兴的数值,开始的时候,所有小朋友的不高兴值为0。如果某个小朋友第一次被交换,则他的不高兴值加1,如果第二次被交换,则他的不高兴值加2,如果第三次被交换,则他的不高兴值加3,依此类推。
假如∶一个小朋友被交换了3次,他的不高兴值为6(1+2+3)。
如果让所有小朋友都按从低到高的顺序排好队,那么所有小朋友的不高兴值的总和的最小值是多少(也就是交换次数最少,不高兴值得总和最小)。
注意∶
1.如果有两个小朋友身高一样,谁在谁前无所谓(不需要交换);
2.每次交换的两个小朋友都需要增加不高兴值。

输入

第一行输入一个正整数n(2<n<51)表示小朋友的数量
第二行输入n个正整数(每个正整数<160),分别表示n个小朋友的身高,正整数之间以一个空格隔开

输出

输出所有小朋友的不高兴值的总和的最小值。

样例输入 复制

3 
130 115 98

样例输出 复制

9

提示

蓝桥杯 中级组真题 2021-3第5题

提示:

逆序对:左边大于该元素+右边小于该元素数量,求完逆序对后,计算等差数列和