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 nn students in the school. We can describe the students using an array aa where aia_i is the smartness of the ii-th (1≤i≤n1 \le i \le n) student.

There are mm topics 1,2,3,…,m1, 2, 3, \ldots, m from which the quiz questions will be formed. The ii-th student is considered proficient in a topic TT if (ai mod T)=0(a_i \bmod T) = 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.

一所学校需要为其参加国际知识竞赛的队伍做出选择。学校共有 nn 名学生。我们可以用一个数组 aa 来描述这些学生,其中 aia_i 表示第 ii 名学生(1≤i≤n1 \le i \le n)的“聪慧值”。

竞赛题目将从 mm 个主题 1,2,3,…,m1, 2, 3, \ldots, m 中选取。若第 ii 名学生满足 (ai mod T)=0(a_i \bmod T) = 0,则称其在主题 TT 上是“熟练的”;否则,称其在该主题上为“新手”。

若一支学生队伍对所有主题均“集体熟练”,即:对每个主题 TT(1≤T≤m1 \le T \le m),该队伍中至少有一名学生在主题 TT 上是熟练的。

请找出一支对所有主题均集体熟练的学生队伍,使得该队伍中任意两名学生聪慧值之差的最大值最小化。输出该最小化的最大差值。

输入格式

Each test contains multiple test cases. The first line contains the number of test cases tt (1≤t≤1041 \le t \le 10^4). The description of the test cases follows.

The first line of each test case contains nn and mm (1≤n,m≤1051 \le n,m \le 10^5).

The second line of each test case contains nn integers a1,a2,…,ana_1, a_2, \ldots, a_n (1≤ai≤1051 \le a_i \le 10^5).

It is guaranteed that the sum of nn over all test cases does not exceed 10510^5.

It is guaranteed that the sum of mm over all test cases does not exceed 10510^5.

每个测试包含多个测试用例。第一行包含测试用例的数量 tt(1≤t≤1041 \le t \le 10^4)。随后是各测试用例的描述。

每个测试用例的第一行包含两个整数 nn 和 mm(1≤n,m≤1051 \le n,m \le 10^5)。

每个测试用例的第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \ldots, a_n(1≤ai≤1051 \le a_i \le 10^5)。

保证所有测试用例的 nn 之和不超过 10510^5。

保证所有测试用例的 mm 之和不超过 10510^5。

输出格式

For each test case, print the answer on a new line. If there is no solution, output −1-1.

对于每个测试用例,在新的一行输出答案。若无解,输出 −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 33 and 77, and m=4m = 4. Thus, there is no student with smartness divisible by 22. Since 2≤m2 \leq m, there is no way to choose a team.

In the second test case, we can select the participant with smartness 22 to be the only one on the team. This way the team will be collectively proficient in both topics 11 and 22.

In the third test case, consider the team with participants of smartnesses 4,5,6,74, 5, 6, 7. This way the team will be collectively proficient in all topics 1,2,…,71, 2, \ldots, 7.

在第一个测试用例中,我们有聪明度分别为 33 和 77 的参与者,且 m=4m = 4。因此,不存在聪明度能被 22 整除的学生。由于 2≤m2 \leq m,故无法组成队伍。

在第二个测试用例中,我们可以仅选择聪明度为 22 的参与者组成队伍。这样,该队伍将共同精通主题 11 和 22。

在第三个测试用例中,考虑由聪明度分别为 4,5,6,74, 5, 6, 7 的参与者组成的队伍。这样,该队伍将共同精通所有主题 1,2,…,71, 2, \ldots, 7。

输入解题思路,AI测评打分。不知道怎么写?

首页