CF1416B.Make Them Equal

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

You are given an array aa consisting of nn positive integers, numbered from 11 to nn . You can perform the following operation no more than 3n3n times:

  1. choose three integers ii , jj and xx ( 1i,jn1 \le i, j \le n ; 0x1090 \le x \le 10^9 );
  2. assign ai:=aixia_i := a_i - x \cdot i , aj:=aj+xia_j := a_j + x \cdot i .

After each operation, all elements of the array should be non-negative.

Can you find a sequence of no more than 3n3n operations after which all elements of the array are equal?

输入格式

The first line contains one integer tt ( 1t1041 \le t \le 10^4 ) — the number of test cases. Then tt test cases follow.

The first line of each test case contains one integer nn ( 1n1041 \le n \le 10^4 ) — the number of elements in the array. The second line contains nn integers a1,a2,,ana_1, a_2, \dots, a_n ( 1ai1051 \le a_i \le 10^5 ) — the elements of the array.

It is guaranteed that the sum of nn over all test cases does not exceed 10410^4 .

输出格式

For each test case print the answer to it as follows:

  • if there is no suitable sequence of operations, print 1-1 ;
  • otherwise, print one integer kk ( 0k3n0 \le k \le 3n ) — the number of operations in the sequence. Then print kk lines, the mm -th of which should contain three integers ii , jj and xx ( 1i,jn1 \le i, j \le n ; 0x1090 \le x \le 10^9 ) for the mm -th operation.

If there are multiple suitable sequences of operations, print any of them. Note that you don't have to minimize kk .

输入输出样例

  • 输入#1

    3
    4
    2 16 4 18
    6
    1 2 3 4 5 6
    5
    11 19 1 1 3

    输出#1

    2
    4 1 2
    2 3 3
    -1
    4
    1 2 4
    2 4 5
    2 3 3
    4 5 1
首页