CF1651B Prove Him Wrong

题目描述

最近,你的朋友发现了一个针对整数数组 $a$ 的特殊操作: 1. 选择两个下标 $i$ 和 $j$($i \neq j$); 2. 令 $a_i = a_j = |a_i - a_j|$。 在玩了一会儿这个操作后,他得出了如下结论: - 对于每一个长度为 $n$ 的整数数组 $a$,其中 $1 \le a_i \le 10^9$,总能找到一对下标 $(i, j)$,使得执行该操作后数组 $a$ 的总和会减少。 你觉得这个结论有些可疑,因此你想为给定的整数 $n$ 找到一个反例来反驳他。 换句话说,请你找到一个由 $n$ 个整数 $a_1, a_2, \dots, a_n$ 组成的数组 $a$($1 \le a_i \le 10^9$),使得对于所有下标对 $(i, j)$,执行上述操作后总和不会减少(即总和会增加或保持不变)。

输入格式

第一行包含一个整数 $t$($1 \le t \le 100$),表示测试用例的数量。接下来有 $t$ 组测试数据。 每组测试数据的第一行包含一个整数 $n$($2 \le n \le 1000$),表示数组 $a$ 的长度。

输出格式

对于每个测试用例,如果不存在长度为 $n$ 的反例数组 $a$,输出 NO。 否则,输出 YES,并在同一行输出该数组 $a$($1 \le a_i \le 10^9$)。如果有多个反例,输出任意一个即可。

说明/提示

在第一个测试用例中,唯一可能的下标对是 $(1, 2)$ 和 $(2, 1)$。 如果你对下标 $(1, 2)$(或 $(2, 1)$)执行操作,你会得到 $a_1 = a_2 = |1 - 337| = 336$,即数组 $[336, 336]$。在这两种情况下,总和都会增加,因此该数组 $a$ 是一个反例。 由 ChatGPT 4.1 翻译