CF1536A.Omkar and Bad Story
入门
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Omkar has received a message from Anton saying "Your story for problem A is confusing. Just make a formal statement." Because of this, Omkar gives you an array a=[a1,a2,…,an] of n distinct integers. An array b=[b1,b2,…,bk] is called nice if for any two distinct elements bi,bj of b, ∣bi−bj∣ appears in b at least once. In addition, all elements in b must be distinct. Can you add several (maybe, 0) integers to a to create a nice array b of size at most 300? If a is already nice, you don't have to add any elements.
For example, array [3,6,9] is nice, as ∣6−3∣=∣9−6∣=3, which appears in the array, and ∣9−3∣=6, which appears in the array, while array [4,2,0,6,9] is not nice, as ∣9−4∣=5 is not present in the array.
For integers x and y, ∣x−y∣=x−y if x>y and ∣x−y∣=y−x otherwise.
奥姆卡尔收到了安东发来的一条消息:“问题 A 的题面故事令人困惑,直接给出形式化的题意即可。”因此,奥姆卡尔给你一个由 n 个互不相同的整数组成的数组 a=[a1,a2,…,an]。称一个数组 b=[b1,b2,…,bk] 是优美的(nice),当且仅当对 b 中任意两个不同元素 bi,bj,其绝对差值 ∣bi−bj∣ 至少在 b 中出现一次;此外,b 中所有元素必须互不相同。你能否向 a 中添加若干(可能为 0 个)整数,构造出一个大小不超过 300 的优美数组 b?如果 a 本身已是优美的,则无需添加任何元素。
例如,数组 [3,6,9] 是优美的,因为 ∣6−3∣=∣9−6∣=3 出现在该数组中,且 ∣9−3∣=6 也出现在该数组中;而数组 [4,2,0,6,9] 不是优美的,因为 ∣9−4∣=5 并未出现在该数组中。
对于整数 x 和 y,定义 ∣x−y∣=x−y(若 x>y),否则 ∣x−y∣=y−x。
输入格式
Each test contains multiple test cases. The first line contains t (1≤t≤50), the number of test cases. Description of the test cases follows.
The first line of each test case contains a single integer n (2≤n≤100) — the length of the array a.
The second line of each test case contains n distinct integers a1,a2,⋯,an (−100≤ai≤100) — the elements of the array a.
每个测试包含多个测试用例。第一行包含一个整数 t(1≤t≤50),表示测试用例的数量。随后是各测试用例的描述。
每个测试用例的第一行包含一个整数 n(2≤n≤100)—— 表示数组 a 的长度。
每个测试用例的第二行包含 n 个互不相同的整数 a1,a2,⋯,an(−100≤ai≤100)—— 表示数组 a 的元素。
输出格式
For each test case, output one line containing YES if Omkar can create a nice array b by adding elements to a and NO otherwise. The case of each letter does not matter, so yEs and nO will also be accepted.
If the first line is YES, output a second line containing a single integer k (n≤k≤300).
Then output one line containing k distinct integers b1,b2,⋯,bk (−109≤bi≤109), the elements of the nice array b. b1,b2,⋯,bk can be in any order. For each ai in a, ai must appear at least once in b.
It can be proved that if Omkar can create such an array b, then he can also do so in a way that satisfies the above constraints.
If multiple solutions exist, you can print any.
对于每个测试用例,如果 Omkar 能够通过向数组 a 中添加元素来构造一个“好”数组 b,则输出一行 YES;否则输出 NO。字母大小写不敏感,因此 yEs 和 nO 同样被接受。
若首行为 YES,则需在第二行输出一个整数 k(满足 n≤k≤300)。
接着输出一行,包含 k 个互不相同的整数 b1,b2,⋯,bk(满足 −109≤bi≤109),即“好”数组 b 的元素。b1,b2,⋯,bk 的顺序可任意。对 a 中的每个 ai,它必须至少在 b 中出现一次。
可以证明:若 Omkar 能构造出这样的数组 b,则他一定也能以满足上述约束的方式构造出来。
若存在多个可行解,输出任意一个即可。
输入输出样例
输入#1
4 3 3 0 9 2 3 4 5 -7 3 13 -2 8 4 4 8 12 6
输出#1
yes 4 6 0 3 9 yEs 5 5 3 1 2 4 NO Yes 6 8 12 6 2 4 10
说明/提示
For the first case, you can add integers to a to receive the array b=[6,0,3,9]. Note that ∣6−3∣=∣9−6∣=∣3−0∣=3 and 3 is in b, ∣6−0∣=∣9−3∣=6 and 6 is in b, and ∣9−0∣=9 is in b, so b is nice.
For the second case, you can add integers to a to receive the array b=[5,3,1,2,4]. We have that ∣2−1∣=∣3−2∣=∣4−3∣=∣5−4∣=1 is in b, ∣3−1∣=∣4−2∣=∣5−3∣=2 is in b, ∣4−1∣=∣5−2∣=3 is in b, and ∣5−1∣=4 is in b, so b is nice.
For the fourth case, you can add integers to a to receive the array b=[8,12,6,2,4,10]. We have that ∣4−2∣=∣6−4∣=∣8−6∣=∣10−8∣=∣12−10∣=2 is in b, ∣6−2∣=∣8−4∣=∣10−6∣=∣12−8∣=4 is in b, ∣8−2∣=∣10−4∣=∣12−6∣=6 is in b, ∣10−2∣=∣12−4∣=8 is in b, and ∣12−2∣=10 is in b, so b is nice.
It can be proven that for all other test cases it is impossible to create a nice array b.
对于第一种情况,你可以向数组 a 中添加整数,得到数组 b=[6,0,3,9]。注意 ∣6−3∣=∣9−6∣=∣3−0∣=3,且 3∈b;∣6−0∣=∣9−3∣=6,且 6∈b;∣9−0∣=9,且 9∈b,因此 b 是“优美的”。
对于第二种情况,你可以向数组 a 中添加整数,得到数组 b=[5,3,1,2,4]。我们有 ∣2−1∣=∣3−2∣=∣4−3∣=∣5−4∣=1,且 1∈b;∣3−1∣=∣4−2∣=∣5−3∣=2,且 2∈b;∣4−1∣=∣5−2∣=3,且 3∈b;∣5−1∣=4,且 4∈b,因此 b 是“优美的”。
对于第四种情况,你可以向数组 a 中添加整数,得到数组 b=[8,12,6,2,4,10]。我们有 ∣4−2∣=∣6−4∣=∣8−6∣=∣10−8∣=∣12−10∣=2,且 2∈b;∣6−2∣=∣8−4∣=∣10−6∣=∣12−8∣=4,且 4∈b;∣8−2∣=∣10−4∣=∣12−6∣=6,且 6∈b;∣10−2∣=∣12−4∣=8,且 8∈b;∣12−2∣=10,且 10∈b,因此 b 是“优美的”。
可以证明:对于其余所有测试用例,均无法构造出“优美”的数组 b。
输入解题思路,AI测评打分。不知道怎么写?