#P15552. [CCPC 2025 哈尔滨站] k-子集和最大公约数问题
[CCPC 2025 哈尔滨站] k-子集和最大公约数问题
题目描述
考虑一个无限大的向量集 ,它的元素包含 ,每种元素都有无限多。在此基础上,我们定义函数 如下:考虑 的每个大小恰为 的子集 ,计算 中的元素之和,求出所有这些子集对应的和的最大公约数,作为 的值。形式化地,
$$f(k) = \gcd_{S' \subseteq S, |S'| = k} \left( \sum_{x \in S'} x \right)$$例如,对于 ,我们有
现在请你求出 的最大值,并求出取得最大值的最小的 。特别地,如果最大值不存在,报告infinite。
输入格式
该题包含多组测试数据。输入第一行包含一个整数 (),表示测试数据组数。
接下来依次输入每组测试数据,对于每组测试数据:
第一行包含一个整数 (),表示 内数的种数。
第二行包含 个整数 (),表示 中的元素。
保证所有测试数据中的 之和不超过 。
输出格式
对于每组数据,如果 存在最大值,则输出一行两个整数,分别表示 的最大值以及取得最大值时最小的 。
否则输出 infinite(不包含引号)。
2
2
3 6
2
2 2
3 1
infinite
2
3
1 4 7
4
4 16 28 34
3 3
6 3
提示
对于样例一中的第一组数据,可以发现无论 取多少,都有 。
对于样例一中的第二组数据,有 ,故 会无限增长不存在最大值。