luogu#P12227. 「WyOJ Round 1」炽 · 踏浪而歌

「WyOJ Round 1」炽 · 踏浪而歌

题目背景

新丰美酒斗十千,咸阳游侠多少年。相逢意气为君饮,系马高楼垂柳边。

——王维《少年行》

题目描述

给定 11 个长度为 nn 的序列 aa,有如下操作:

  • 每次选择 22 个位置 i,ji,j,将 aia_iaja_j 均减 11。如果 i=ji=j,则 aia_i 值只减 11 次。

问将 aa 序列全部减为 00 所需的最少次数,并输出字典序最小的方案。

注:字典序最小的方案是指将所有输出的数拼接成一个序列,且使得该序列字典序尽可能小。

输入格式

第一行,一个正整数 nn, 表示数列的长度。

第二行,包含 nn 个非负整数 aia_i,表示 aa 序列。

输出格式

第一行,一个整数 kk 表示最少的操作次数。

接下来 kk 行,输出字典序最小的方案。每行 22 个整数 i,ji,j,表示一次操作。

4
3 1 3 5

6
1 2
1 4
1 4
3 4
3 4
3 4

提示

对于 100%100\% 的数据,1n1051\le n\le 10^51i=1nai1061\le \sum_{i=1}^n a_i\le 10^6ai0a_i\ge 0

注意: aia_i 有可能等于 00

测试点 特殊性质
11 1n61\le n\le 61ai61\le a_i\le 6
22 i(1,n],aiai1\forall i\in (1,n], a_i\le a_{i-1}
3103\sim 10 1n1051\le n\le 10^51i=1nai1061\le \sum_{i=1}^n a_i\le 10^6