CF1789A.Serval and Mocha's Array
入门
通过率:0%
时间限制:1.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Mocha likes arrays, and Serval gave her an array consisting of positive integers as a gift.
Mocha thinks that for an array of positive integers a, it is good iff the greatest common divisor of all the elements in a is no more than its length. And for an array of at least 2 positive integers, it is beautiful iff all of its prefixes whose length is no less than 2 are good.
For example:
- [3,6] is not good, because gcd(3,6)=3 is greater than its length 2.
- [1,2,4] is both good and beautiful, because all of its prefixes whose length is no less than 2, which are [1,2] and [1,2,4], are both good.
- [3,6,1] is good but not beautiful, because [3,6] is not good.
Now Mocha gives you the gift array a of n positive integers, and she wants to know whether array a could become beautiful by reordering the elements in a. It is allowed to keep the array a unchanged.
Mocha 喜欢数组,Serval 送给她一个由正整数组成的数组作为礼物。
Mocha 认为:对于一个正整数数组 a,若其中所有元素的最大公约数(greatest common divisor)不超过该数组的长度,则称该数组是好的(good);而对于一个长度至少为 2 的正整数数组,若其所有长度不小于 2 的前缀都是好的,则称该数组是美的(beautiful)。
例如:
- [3,6] 不是好的,因为 gcd(3,6)=3 大于其长度 2。
- [1,2,4] 既是好的,也是美的,因为其所有长度不小于 2 的前缀(即 [1,2] 和 [1,2,4])都是好的。
- [3,6,1] 是好的但不是美的,因为其前缀 [3,6] 不是好的。
现在 Mocha 将长度为 n 的礼物数组 a(由 n 个正整数组成)交给你,并希望你判断:是否可以通过重排数组 a 中的元素,使其变为美的数组?允许保持数组 a 不变(即原序即为一种合法重排)。
输入格式
Each test contains multiple test cases. The first line contains the number of test cases t (1≤t≤500). The description of the test cases follows.
The first line of each test case contains a single integer n (2≤n≤100) — the length of array a.
The second line of each test case contains n integers a1,a2,…,an (1≤a1,a2,…,an≤106) — the elements of array a.
每个测试包含多个测试用例。第一行包含测试用例的数量 t(1≤t≤500)。随后是各测试用例的描述。
每个测试用例的第一行包含一个整数 n(2≤n≤100)—— 数组 a 的长度。
每个测试用例的第二行包含 n 个整数 a1,a2,…,an(1≤a1,a2,…,an≤106)—— 数组 a 的元素。
输出格式
For each test case, print Yes if it is possible to reorder the elements in a to make it beautiful, and print No if not.
You can output Yes and No in any case (for example, strings yEs, yes, Yes and YES will be recognized as a positive response).
对于每个测试用例,如果可以重新排列数组 a 中的元素使其变为“优美”的,则输出 Yes;否则输出 No。
You 和 No 的大小写不限(例如,字符串 yEs、yes、Yes 和 YES 均被视为肯定回答)。
输入输出样例
输入#1
6 2 3 6 3 1 2 4 3 3 6 1 3 15 35 21 4 35 10 35 14 5 1261 227821 143 4171 1941
输出#1
No Yes Yes No Yes Yes
说明/提示
In the first test case, neither [3,6] nor [6,3] are beautiful, so it's impossible to obtain a beautiful array by reordering the elements in a.
In the second test case, [1,2,4] is already beautiful. Keeping the array a unchanged can obtain a beautiful array.
在第一个测试用例中,[3,6] 和 [6,3] 均不美丽,因此无法通过对数组 a 中的元素重新排序来得到一个美丽的数组。
在第二个测试用例中,[1,2,4] 本身已是美丽的数组。保持数组 a 不变即可得到一个美丽的数组。
输入解题思路,AI测评打分。不知道怎么写?