#CSES1162. 排序方法

排序方法

题目背景

翻译自 CSES-1162 题。

题目描述

以下是几种可以用来按升序排列数组元素的方法:

  1. 每次选择两个相邻的元素并交换它们的位置。
  2. 每次选择任意两个元素并交换它们的位置。
  3. 每次选择任意一个元素并将其移动到另一个位置。
  4. 每次选择任意一个元素并将其移动到数组的最前面。

给定一个数字的排列 1,2,,n1, 2, \dots, n,计算使用上述方法排序数组所需的最小步数。

输入格式

第一行包含一个整数 nn,表示数组的长度。

第二行包含 nn 个整数,表示排列的初始状态。

输出格式

输出四个整数,分别表示使用每种方法进行排序的最小步数。

样例

8
7 8 2 6 5 1 3 4
20 6 5 6

说明/提示

1n2×1051 \leq n \leq 2 \times 10^5