CSES 1162 - Sorting Methods
1.0s 512M以下是幾種可以把陣列元素排成遞增順序的方法:
- 每一步選兩個相鄰的元素,把它們交換。
- 每一步選任意兩個元素,把它們交換。
- 每一步選任意一個元素,把它移到另一個位置。
- 每一步選任意一個元素,把它移到陣列的最前面。
給定 \(1,2,\ldots,n\) 的一個排列,請計算用上述每一種方法把陣列排好序所需的最少步數。
輸入格式
第一行輸入包含一個整數 \(n\)。
第二行包含 \(n\) 個整數,描述這個排列。
輸出格式
輸出四個數字:使用每一種方法所需的最少步數。
範例輸入 1
8
7 8 2 6 5 1 3 4
範例輸出 1
20 6 5 6
限制
- \(1 \le n \le 2 \cdot 10^5\)
題目來源
題目來自 CSES Problem Set(Antti Laaksonen),授權 CC BY-NC-SA 4.0;本頁為翻譯,以相同授權分享。
登入後即可撰寫程式並提交評測。
登入