U729625 黄孝鑫的寿司队列

题目背景

黄孝鑫来到了一家回转寿司店。看着传送带上摆成一排的寿司,作为一名极具强迫症的食客,他决定在开吃前将这些寿司按照美味度从小到大进行重新排列。由于店员盯得很紧,他每次动作不能太大,只能悄悄交换相邻的两个寿司盘。为了尽快吃到寿司,他的交换次数需要控制在一定范围内。

题目描述

给定一个包含 $n$ 个整数的数组 $A$,代表从左到右每个寿司盘的美味度。 你被允许进行一种操作:选择数组中相邻的两个元素并将它们交换。请给出一个操作序列,使得经过这些操作后,数组 $A$ 变为非降序(从小到大)排列。 本题开启 Special Judge,你的交换次数 $K$ 不能超过 $n^2$ 次。只要操作结束后数组有序且步数在限制范围内,均视为正确。

输入格式

第一行包含一个正整数 $n$,表示寿司盘的数量。 第二行包含 $n$ 个整数 $A_1, A_2, \dots, A_n$,表示初始各个寿司盘的美味度。

输出格式

第一行输出一个非负整数 $K$,表示你需要的交换次数。 第二行输出 $K$ 个整数(若 $K=0$ 则该行可为空或不输出),第 $i$ 个整数 $p_i$ 表示在第 $i$ 次操作中,交换了位置 $p_i$ 和位置 $p_{i+1}$ 上的寿司盘。(位置下标从 $1$ 开始)。

说明/提示

## 数据范围 * $1 \le n \le 1000$ * $-10^9 \le A_i \le 10^9$ * 要求输出的交换次数 $0 \le K \le n^2$。