AT_pakencamp_2023_day1_i Swap and Sort
题目描述
给定一个正整数 $K$ 和一个长度为 $N$ 的正整数序列 $A$。你可以对这个数列至多进行 $5 \times 10^5$ 次如下操作:
- 选择一个整数 $i\ (1 \leq i \leq N-1)$。将 $A_i$ 和 $A_{i+1}$ 交换,然后将 $A_{i+1}$ 加上 $K$。
请找到一种操作序列,使最终的数列是非降序的,即满足 $A_1 \leq A_2 \leq \ldots \leq A_N$。保证在本题的限制下,一定存在这样一组操作方案。
输入格式
输入按以下格式从标准输入读入:
> $N\ K\ A_1\ A_2\ \ldots\ A_N$
输出格式
输出操作次数 $M\ (0 \leq M \leq 5\times 10^5)$,共 $M+1$ 行。第一行输出 $M$。接下来的第 $k+1\ (1 \leq k \leq M)$ 行,每一行输出第 $k$ 次操作选择的 $i$。
说明/提示
### 样例解释 1
按顺序选择 $i=2,3$,进行两次操作后,可以得到 $A=(1, 1, 2, 5)$。
### 数据范围
- $1 \leq N \leq 1000$
- $1 \leq K \leq 10^9$
- $1 \leq A_i \leq 10^9$
- 所有输入均为整数。
由 ChatGPT 5 翻译