[ARC180] B - Improve Inversions

B - Improve Inversions

Time Limit: 2 sec / Memory Limit: 1024 MB

分数: 600 分

题面

给定一个由 构成的排列
此外,给定一个整数

您可以零次或多次执行以下操作:

  • 选择整数 ()。这里,对于操作,
    • 必须满足条件
    • 在操作时,必须满足
    • 之前未选择过对
  • 然后,交换 的值。

您希望最大化操作次数。找到一种实现方式。

限制条件

  • 的一个排列。
  • 所有输入值均为整数。

输入

输入遵循以下标准格式:


输出

以以下格式打印答案:





其中, 是最大操作次数, 是第 次操作中选择的 的值。如果存在多个解决方案,则可以打印其中任何一个。


输入样例 1

3 1
3 2 1

输出样例 1

3
2 3
1 3
1 2

在本示例中,最大操作次数为 。输出中的操作如下进行:

  • 第 1 次操作:选择 。我们有 ,且 之前未被选择过,因此满足条件。交换 的值,结果为
  • 第 2 次操作:选择 。我们有 ,且 之前未被选择过,因此满足条件。交换 的值,结果为
  • 第 3 次操作:选择 。我们有 ,且 之前未被选择过,因此满足条件。交换 的值,结果为

输入样例 2

5 4
1 4 3 2 5

输出样例 2

0


输入样例 3

4 2
4 1 2 3

输出样例 3

2
1 4
1 3


输入样例 4

10 5
8 7 6 10 9 3 1 5 2 4

输出样例 4

15
3 8
2 8
3 10
3 9
1 8
2 10
2 9
2 7
1 10
5 10
1 9
4 10
4 9
1 7
1 6

0条搜索结果。