#CSES1162. 排序方法

    ID: 407 传统题 1000ms 256MiB 尝试: 0 已通过: 0 难度: 3 上传者: 标签>排序逆序对LIS树状数组贪心CSES数组排序

排序方法

题目背景

翻译自 CSES-1162 题。

题目描述

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

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

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

输入格式

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

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

输出格式

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

样例

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

数据范围

  • 1n2×1051 \le n \le 2 \times 10^5