#E1000. 均分纸牌

均分纸牌

均分纸牌

题目描述

NN 堆纸牌,编号分别为 1,2,...,N1,2,...,N。每堆上有若干张,但纸牌总数必为 NN 的倍数。可以在任一堆上取若干张纸牌,然后移动。
移牌规则为:在编号为 11 的堆上取的纸牌,只能移到编号为 22 的堆上;在编号为 NN 的堆上取的纸牌,只能移到编号为 N1N-1 的堆上;其他堆上取的纸牌,可以移到相邻左边或右边的堆上。现在要求找出一种移动方法,用最少的移动次数使每堆上纸牌数都一样多。
在移动过程中始终保证所有 d>0d > 0, a[i]>0a[i] > 0 ,若有多解输出字典序最小的。

输入格式

  • 第一行一个整数 NN
  • 第二行 NN 个整数 a[1...N]a[1...N]

输出格式

  • 第一行输出整数 mm(最小移动次数)
  • 接下来 mm 行,每行 33 个整数 (x,y,d)(x,y,d) 表示移动(从 xx 堆取 dd 张移到 yy 堆)

样例

样例 1 输入

4
9 8 17 6

样例 1 输出

3
2 1 1
3 2 3
3 4 4

样例 2 输入

8
1 2 5 134 10 8 54 4

样例 2 输出

4
1 2 92
2 3 60
3 4 26
4 5 38

数据范围

  • 30% 数据:N ≤ 10
  • 60% 数据:N ≤ 1000
  • 100% 数据:1 ≤ a[i], N ≤ 3×10⁵,N∣∑a[i]