#P1921. 2024.8.21-ali-第2题-小塔的数组操作

2024.8.21-ali-第2题-小塔的数组操作

题目内容

小塔有一个长度为nn的数组a1,a2....a_1,a_2....小塔想把它变成严格递减的,具体的,他可以对aa数组做如下操作:

  • 选择一个前缀,再选择一个整数x(1x106)x(1≤x≤10^6),将选择的数字都加上xx,即ai=ai+xa_i=a_i+x

    • 选择一个前缀,再选择一个整数x(1x106)x(1≤x≤10^6),将选择的数字都对xx取模,即ai=ai mod xa_i=a_i\ mod\ x

    请问他能否在nn次操作以内将aa变为严格递减的 如果可以的话请你帮他构造出一个合法方案把。

    前缀是指从下标为11开始的一段连续区间。严格递减 是指数组每一项都严格小于上一项,不能等于。

输入描述

第一行输入一个整数n(1n3000)n(1≤n≤3000)代表数组中元素的数量。

第二行输入nn个整数a1,a2,....,an(1ai105)a_1,a_2,....,a_n(1≤a_i≤10^5) 代表数组中的元素

输出描述

在一行输出一个整数m(0mn)m(0≤m≤n)代表操作

此后mm行,第ii行输出三个整数opit1op_i,t_1

xi(1opi21tin1xi109)x_i(1≤op_i≤2;1≤t_i≤n;1≤x_i≤10^9)代表第ii步操作的操作类型,前缀的位置和选择的数字。

如果您的构造的操作方案中有任何数字限制范围,将会被视为错误。如果有多种合法答案您可以输出任意一种

样例1

输入

5
7 9 11 10 2

输出

3
2 4 6
1 2 3 
1 1 3