CF1651B.Prove Him Wrong

传统题 时间 2000 ms 内存 256 MiB 3 尝试 1 已通过 1 标签

Prove Him Wrong

题目描述

最近,你的朋友发现了一个针对整数数组 aa 的特殊操作:

  1. 选择两个下标 iijjiji \neq j);
  2. ai=aj=aiaja_i = a_j = |a_i - a_j|

在玩了一会儿这个操作后,他得出了如下结论:

  • 对于每一个长度为 nn 的整数数组 aa,其中 1ai1091 \le a_i \le 10^9,总能找到一对下标 (i,j)(i, j),使得执行该操作后数组 aa 的总和会减少。

你觉得这个结论有些可疑,因此你想为给定的整数 nn 找到一个反例来反驳他。

换句话说,请你找到一个由 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n 组成的数组 aa1ai1091 \le a_i \le 10^9),使得对于所有下标对 (i,j)(i, j),执行上述操作后总和不会减少(即总和会增加或保持不变)。

输入格式

第一行包含一个整数 tt1t1001 \le t \le 100),表示测试用例的数量。接下来有 tt 组测试数据。

每组测试数据的第一行包含一个整数 nn2n10002 \le n \le 1000),表示数组 aa 的长度。

输出格式

对于每个测试用例,如果不存在长度为 nn 的反例数组 aa,输出 NO。

否则,输出 YES,并在同一行输出该数组 aa1ai1091 \le a_i \le 10^9)。如果有多个反例,输出任意一个即可。

说明/提示

在第一个测试用例中,唯一可能的下标对是 (1,2)(1, 2)(2,1)(2, 1)

如果你对下标 (1,2)(1, 2)(或 (2,1)(2, 1))执行操作,你会得到 a1=a2=1337=336a_1 = a_2 = |1 - 337| = 336,即数组 [336,336][336, 336]。在这两种情况下,总和都会增加,因此该数组 aa 是一个反例。

由 ChatGPT 4.1 翻译

样例

3
2
512
3
YES
1 337
NO
YES
31 4 159

在线编程 IDE

建议全屏模式获得最佳体验