原子分裂
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述:
在未来的科技时代,科学家艾琳致力于新能源的研究,她正在筹备一项关键的原子聚合实验。
艾琳的实验室中存有N种不同的原子,编号从1到N 。其中,每一个第i种原子在1秒钟后,能够聚合分裂为Si个相同的原子(Si为正整数)。此次实验需要将聚合分裂后的原子均匀分配到M个特殊容器中,以形成实验样本。由于实验规模庞大,容器数量M极为巨大,常规计算机的数据类型难以直接存储。不过幸运的是,M总能表示为m1的m2次方,即,且m1、m2都是常规数据类型能够存储的正整数。
需要注意的是,在整个实验过程中,原子不能被分割。例如,若某个时刻有4个原子,艾琳可以将它们平均分配到2个容器中,每个容器2个,进而开展实验;但要是有5个原子,就无法平均分配到2个容器中,此时只能等待原子继续聚合分裂,直至数量能够均分,或者更换其他种类的原子进行培养。
为了尽快推进实验进程,艾琳一旦选定某种原子开始培养,就会在原子数量 “恰好能平均分入M个容器” 时,立刻停止培养并启动实验。现在,艾琳迫切希望知道,选择培养哪种原子,能够让实验最早开始。
输入格式:
第一行,有一个正整数 N,代表原子种数。
第二行,有两个正整数 m1,m2,以一个空格隔开,即表示容器的总数 。
第三行有 N 个正整数,第 i 个数 Si表示第 i 种原子经过 1 秒钟可以分裂成同种原子的个数。
输出格式:
一个整数,表示从开始培养原子到实验能够开始所经过的最少时间(单位为秒)。
如果无论艾琳选择哪种细胞都不能满足要求,则输出整数 −1。
样例:
2
24 1
30 12
2
提示
对于所有的数据,有