CF1777C.Quiz Master
普及+/提高
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
A school has to decide on its team for an international quiz. There are n students in the school. We can describe the students using an array a where ai is the smartness of the i-th (1≤i≤n) student.
There are m topics 1,2,3,…,m from which the quiz questions will be formed. The i-th student is considered proficient in a topic T if (aimodT)=0. Otherwise, he is a rookie in that topic.
We say that a team of students is collectively proficient in all the topics if for every topic there is a member of the team proficient in this topic.
Find a team that is collectively proficient in all the topics such that the maximum difference between the smartness of any two students in that team is minimized. Output this difference.
一所学校需要为其参加国际知识竞赛的队伍做出选择。学校共有 n 名学生。我们可以用一个数组 a 来描述这些学生,其中 ai 表示第 i 名学生(1≤i≤n)的“聪慧值”。
竞赛题目将从 m 个主题 1,2,3,…,m 中选取。若第 i 名学生满足 (aimodT)=0,则称其在主题 T 上是“熟练的”;否则,称其在该主题上为“新手”。
若一支学生队伍对所有主题均“集体熟练”,即:对每个主题 T(1≤T≤m),该队伍中至少有一名学生在主题 T 上是熟练的。
请找出一支对所有主题均集体熟练的学生队伍,使得该队伍中任意两名学生聪慧值之差的最大值最小化。输出该最小化的最大差值。
输入格式
Each test contains multiple test cases. The first line contains the number of test cases t (1≤t≤104). The description of the test cases follows.
The first line of each test case contains n and m (1≤n,m≤105).
The second line of each test case contains n integers a1,a2,…,an (1≤ai≤105).
It is guaranteed that the sum of n over all test cases does not exceed 105.
It is guaranteed that the sum of m over all test cases does not exceed 105.
每个测试包含多个测试用例。第一行包含测试用例的数量 t(1≤t≤104)。随后是各测试用例的描述。
每个测试用例的第一行包含两个整数 n 和 m(1≤n,m≤105)。
每个测试用例的第二行包含 n 个整数 a1,a2,…,an(1≤ai≤105)。
保证所有测试用例的 n 之和不超过 105。
保证所有测试用例的 m 之和不超过 105。
输出格式
For each test case, print the answer on a new line. If there is no solution, output −1.
对于每个测试用例,在新的一行输出答案。若无解,输出 −1。
输入输出样例
输入#1
3 2 4 3 7 4 2 3 7 2 9 5 7 6 4 3 5 7
输出#1
-1 0 3
说明/提示
In the first test case, we have participants with smartnesses 3 and 7, and m=4. Thus, there is no student with smartness divisible by 2. Since 2≤m, there is no way to choose a team.
In the second test case, we can select the participant with smartness 2 to be the only one on the team. This way the team will be collectively proficient in both topics 1 and 2.
In the third test case, consider the team with participants of smartnesses 4,5,6,7. This way the team will be collectively proficient in all topics 1,2,…,7.
在第一个测试用例中,我们有聪明度分别为 3 和 7 的参与者,且 m=4。因此,不存在聪明度能被 2 整除的学生。由于 2≤m,故无法组成队伍。
在第二个测试用例中,我们可以仅选择聪明度为 2 的参与者组成队伍。这样,该队伍将共同精通主题 1 和 2。
在第三个测试用例中,考虑由聪明度分别为 4,5,6,7 的参与者组成的队伍。这样,该队伍将共同精通所有主题 1,2,…,7。
输入解题思路,AI测评打分。不知道怎么写?