luogu#P10311. 「Cfz Round 2」Weighted Mean

    ID: 14270 远端评测题 1000ms 512MiB 尝试: 0 已通过: 0 难度: 6 上传者: 标签>数学洛谷原创Special JudgeO2优化构造洛谷月赛Ad-hoc

「Cfz Round 2」Weighted Mean

题目描述

给定一个长度为 nn 的序列 aa 和一个整数 mm,保证序列 aa 中的每个元素均为不大于 mm 的正整数,且每个元素互不相等。

你需要构造一个长度为 nn 的序列 bb,满足:

  • 序列 bb 中的每个元素均为不大于 mm 的正整数;
  • $\dfrac{\sum\limits_{i=1}^n (a_i \cdot b_i)}{\sum\limits_{i=1}^n b_i}$ 为整数,即 aia_i 的权为 bib_i 时,序列 aa 的加权平均数为整数;
  • 不存在有序三元整数组 (i,j,k)(i,j,k),满足 1i<j<kn1\le i<j<k\le nbi=bj=bkb_i=b_j=b_k

或报告无解。

输入格式

本题有多组测试数据。

第一行输入一个整数 TT,表示测试数据组数。

接下来依次输入每组测试数据。对于每组测试数据:

  • 第一行输入两个整数 n,mn,m
  • 第二行输入 nn 个整数,表示给定的序列 aa

输出格式

对于每组测试数据,输出一行:

  • 若存在满足条件的序列 bb,则输出用空格分隔的 nn 个整数,表示你构造的序列 bb
  • 若不存在满足条件的序列 bb,则输出 1-1

所有满足要求的输出均可通过。

3
3 5
1 2 3
2 2
1 2
4 100000
1 2 5 9
1 2 1
-1
1 1 3 4

提示

「样例解释 #1」

对于第 11 组测试数据,给出的样例的加权平均数为 $\dfrac{1 \times 1+2 \times 2 + 3 \times 1}{1+2+1}=2$,为整数。

输出 1 5 1 也视作正确,其加权平均数为 22

但是输出 1 6 1 不正确,虽然其加权平均数为 22,但是 b2>5b_2>5

输出 1 2 3 也不正确,其加权平均数为 73\dfrac{7}{3},不为整数。

输出 1 1 1 也不正确,虽然其加权平均数为 22,但是存在有序三元组 (1,2,3)(1,2,3) 满足 11<2<331 \leq 1 < 2 < 3 \leq 3b1=b2=b3b_1=b_2=b_3

对于第 22 组测试数据,可以证明不存在满足条件的序列 bb

对于第 33 组测试数据,给出的样例的加权平均数为 $\dfrac{1 \times 1+2 \times 1 + 5 \times 3+9 \times 4}{1+1+3+4}=6$,为整数。

「数据范围」

n\sum n 表示单个测试点中 nn 的和。

对于所有数据,1T10001 \le T \le 10001n1061 \le n \le 10^61aim1091 \le a_i \le m \le 10^9n106\sum n \le 10^6,保证序列 aa 中的每个元素间互不相等。

只有你通过本题的所有测试点,你才能获得本题的分数。