有 N 个整数,值为 1 \dots N。
现给出 N 个整数的一种排列的结果,请按照如下规则将数列调整为有序数列:
每次只能将第 1 个数向后移动 K 步;
要求按最少的次数移动。
比如:有数列 2 1 4 3。
可以先让第 1 个数 2 向后移动 2 步,得到:
1 4 2 3;
再让数字 1 向后移动 1 步,得到:
4 1 2 3;
再让数字 4 向后移动 3 步,得到:
1 2 3 4;
经过最少 3 次移动,可以使得数组有序。
第 1 行读入整数 N,代表数组的元素数量;
第 2 行读入 N 个整数 A_1 \dots A_N。
第 1 行输出一个整数,代表最少的移动次数;
第 2 行输出若干整数,代表每次移动,第 1 个整数向后需要移动的步数。
4 2 1 4 3
3 2 1 3
对于 100\% 的数据,1 \le N \le 10^5 。
东方博宜OJ