#ATarc086b. [ABC081D] Non-decreasing

[ABC081D] Non-decreasing

题目描述

すぬけ君有一个长度为 NN 的数列 aa,数列的第 ii 个数为 aia_i(下标从 1 开始)。

他可以进行如下操作任意次:

  • 操作:选择 11NN 之间的整数 x,yx,y,然后将 axa_x 加到 aya_y 上。

すぬけ君希望通过 002N2N 次操作,使数列 aa 满足以下条件。请给出一种符合要求的操作序列。在本题的限制下,一定存在使数列满足条件的操作方法。

  • 条件:a1a2...aNa_1 \leq a_2 \leq ... \leq a_N

输入格式

输入通过标准输入给出,格式如下:

N a1 a2 ... aNN\ a_1\ a_2\ ...\ a_N

输出格式

第一行输出操作次数 mm
接下来的 mm 行中,第 ii 行输出第 ii 次操作选择的 xxyy,用空格隔开。只要 0m2N0 \leq m \leq 2N 且经过 mm 次操作后 aa 满足条件即可视为正确答案。

样例 1

输入

3
-2 5 -1

输出

2
2 3
3 3

样例 2

输入

2
-1 -3

输出

1
2 1

样例 3

输入

5
0 0 0 0 0

输出

0

说明/提示

约束条件

  • 2N502 \leq N \leq 50
  • 106ai106-10^6 \leq a_i \leq 10^6
  • 输入均为整数

样例说明 1

  • 第 1 次操作后,a=(2,5,4)a = (-2, 5, 4)
  • 第 2 次操作后,a=(2,5,8)a = (-2, 5, 8),满足条件。

样例说明 2

  • 第 1 次操作后,a=(4,3)a = (-4, -3),满足条件。

样例说明 3

  • 已经满足条件。

由 ChatGPT 5 翻译