|
在這個問題中你必須去分析一個特別的排序演算法Ultra-QuickSort。這個演算法要將 n 個不同的整數由小到大排序,所用的動作是在必要的時候將 相鄰 的2個數交換。對以下的輸入序列: 9 1 0 5 4 這個Ultra-QuickSort 將會產生以下的輸出: 0 1 4 5 9 你的任務是算出 Ultra-QuickSort 最少需要用到多少次交換的動作,來將輸入的序列由小到大排序。
|
![]() |
Input
輸入含有多組測試資料。
每組測試資料的第一列,有 1 個整數 n( n < 500000), 代表需要排序的整數有多少個。接下來的 n 列每列有一個整數 0 <= a[i] <= 999999999,代表要排序的數。
當 n=0 時代表輸入結束。請參考Sample Input。
Output
對每一組測試資料輸出一列,最少需要用到多少次交換的動作,來將輸入的序列由小到大排序。
| Sample Input | Sample Output |
5 9 1 0 5 4 3 1 2 3 4 4 3 2 1 0 |
6 0 6 |