跳转至

猜公因子

预估时间限制:0.5 秒。内存限制:128 MB。

实际时限以标准程序在目标评测环境的最慢用例中位时间乘以 \(2\) ,按 \(0.5\) 秒向上取整。参考环境见评测说明。

背景故事

仓库里有若干批零件。管理员想选出指定数量的批次,用同一种容量的盒子恰好装完每一批;在容量上限以内,希望盒子尽可能大。

(本故事由GPT-6重写)

形式化问题描述

给定长度为 \(n\) 的正整数序列 \(a_1,a_2,\ldots,a_n\) ,以及整数 \(m,k\) .

求最大的正整数 \(x\le k\) ,使得可以选出恰好 \(m\) 个不同下标,对每个选中的下标 \(i\) ,都有 \(x\mid a_i\) .

相同的数值可以多次出现,按不同下标分别计数。选出恰好 \(m\) 项等价于至少有 \(m\) 项能被 \(x\) 整除。当 \(m=0\) 时,允许选择空集,此时任何满足 \(1\le x\le k\) 的整数都满足整除条件。

输入格式

第一行三个整数 \(n,m,k\) .

第二行 \(n\) 个正整数 \(a_1,a_2,\ldots,a_n\) . 当 \(n=0\) 时,第二行为空。

输出格式

输出一行一个整数,表示最大的合法 \(x\) .

样例

样例 1

输入

5 2 10
12 18 20 30 7

输出

10

样例 2

输入

0 0 9

输出

9

样例 3

输入

4 3 8
36 36 25 36

输出

6

样例解释

样例 1 可以选择 \(20\) 和 \(30\) ,答案为 \(10\) .

样例 2 选择空集,答案为容量上限 \(9\) .

样例 3 选择三个值为 \(36\) 的不同位置。不超过 \(8\) 的最大公共因数为 \(6\) ;不能把重复值去重。

数据范围与保证

对 100% 的数据:\(0\le\lfloor n/5\rfloor\le m\le n\le1000\) ,\(1\le k\le10^9\) ,\(1\le a_i\le10^9\) .

分值比例 额外条件
100% 无额外条件