CF1144D Equalize Them All

题目描述

你被给了一个 _n_ 个元素的数组 _a_ ,对于一对(i,j)其满足|i-j|=1(即表示i,j相邻),你现在有两种操作方式: **1**操作:将a[i]变为a[i] + | a[i]-a[j] | **2**操作:将a[i]变为a[i] - | a[i]-a[j] | (其中 | a[i]-a[j] | 表示a[i]-a[j]的绝对值,举例:|-4|=4,|3|=3)。 你的任务是求出最小的操作次数使整个数组的值全部相等并把每一步输出出来。 数据保证总用方法使其经过若干次操作后全部相等 保证任意一次操作后数之都不会超过10^18

输入格式

第一行有一个整数 _n_

输出格式

第一行一个整数k——完成题目要求所需的最小操作次数 接下来k行输出每一步所作的操作,每一行有三个整数(t,i,p)分别对应做的操作的编号(即1或2),i,j,与题目中描述的操作里的i,j意思一样,而且同样满足1