问题 5078 --羊羊排序

5078: 羊羊排序

题目描述

  一段长时间的训练后,小T很累了,她想挤些羊奶犒劳下自己,好补充体力。
小T家养了N头羊(1≤N≤10000),排成一排后准备在晚上挤奶。每头羊都有一个独一无二的“脾气”水平,数值在[1..100000]范围内。由于脾气暴躁的羊更容易损坏小T的挤奶设备,所以小T希望重新排列羊儿们的顺序,以便它们按照脾气暴躁的水平从小到大排列。在此过程中,任何两头羊(不一定相邻)的位置都可以互换。
由于脾气暴躁的羊较难移动,小T总共需要(X+Y)个时间单位来交换脾气暴躁数值为X和Y的两头羊。
请帮助小T计算重新排序所有羊所需的最少时间。

输入

第1行:一个整数。
第2行..N+1行:每行包含一个整数,第i+1行描述了第i只羊的暴躁数值ai。

输出

第1行:一个整数,表示用最少的时间对所有羊重新排序,使其脾气暴躁数值有序。

样例输入输出

输入#1 复制
3
2
3
1
输出#1 复制
7

提示

【提示】
初始位置:2 3 1。
脾气暴躁数值为3和1的羊互换后(时间=1+3=4),变为2 1 3。
脾气暴躁数值为1和2的羊交换后(时间=2+1=3),变为1 2 3。
花费的时间单位一共是:4+3=7。
没有其它交换能达成更少的时间。
【数据范围】
50%的数据,N≤10;
80%的数据,N≤1000;
100%的数据,N≤10000,1≤ai≤100000。

序号 标题 作者 发表时间 费用 订购数 操作