CF1416B.Make Them Equal
普及+/提高
通过率:0%
时间限制:1.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given an array a consisting of n positive integers, numbered from 1 to n. You can perform the following operation no more than 3n times:
- choose three integers i, j and x (1≤i,j≤n; 0≤x≤109);
- assign ai:=ai−x⋅i, aj:=aj+x⋅i.
After each operation, all elements of the array should be non-negative.
Can you find a sequence of no more than 3n operations after which all elements of the array are equal?
给你一个由 n 个正整数组成的数组 a,元素编号从 1 到 n。你最多可以执行 3n 次如下操作:
- 选择三个整数 i、j 和 x(满足 1≤i,j≤n;0≤x≤109);
- 执行赋值:ai:=ai−x⋅i,aj:=aj+x⋅i。
每次操作后,数组的所有元素都必须为非负数。
你能否找到一个最多包含 3n 次操作的序列,使得操作完成后数组中所有元素均相等?
输入格式
The first line contains one integer t (1≤t≤104) — the number of test cases. Then t test cases follow.
The first line of each test case contains one integer n (1≤n≤104) — the number of elements in the array. The second line contains n integers a1,a2,…,an (1≤ai≤105) — the elements of the array.
It is guaranteed that the sum of n over all test cases does not exceed 104.
第一行包含一个整数 t(1≤t≤104)—— 表示测试用例的数量。随后是 t 个测试用例。
每个测试用例的第一行包含一个整数 n(1≤n≤104)—— 表示数组中元素的个数。第二行包含 n 个整数 a1,a2,…,an(1≤ai≤105)—— 表示数组的元素。
保证所有测试用例的 n 之和不超过 104。
输出格式
For each test case print the answer to it as follows:
- if there is no suitable sequence of operations, print −1;
- otherwise, print one integer k (0≤k≤3n) — the number of operations in the sequence. Then print k lines, the m-th of which should contain three integers i, j and x (1≤i,j≤n; 0≤x≤109) for the m-th operation.
If there are multiple suitable sequences of operations, print any of them. Note that you don't have to minimize k.
对每个测试用例,按如下方式输出其答案:
- 如果不存在满足条件的操作序列,则输出 −1;
- 否则,首先输出一个整数 k(0≤k≤3n),表示该操作序列中操作的数目;随后输出 k 行,其中第 m 行应包含三个整数 i、j 和 x(1≤i,j≤n;0≤x≤109),对应第 m 次操作。
若存在多个满足条件的操作序列,输出任意一个即可。注意:你无需使 k 最小化。
输入输出样例
输入#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
输入解题思路,AI测评打分。不知道怎么写?