问题 A: 物资分装

内存限制:256 MB 时间限制:2 S
题面:传统 评测方式:文本比较 上传者:
提交:43 通过:17

题目描述

绍兴某中学的班级活动中,需要提前准备一批物资并分装到指定容器中。班级现有 L 种物资生成方案,每种方案的特性是:初始有 1 份基础物资,经过 1 小时后,这份物资会按对应方案的规则 “增殖”—— 即第 i 种方案 1 小时后会将 1 份物资变成 Bi 份(Bi 为正整数,增殖规则固定)。

活动要求:选择一种物资生成方案,从 1 份基础物资开始准备,让其按规则增殖。待物资数量达到 “刚好能平均分入 P 个容器” 时,立即停止增殖并开始分装(每个容器内物资份数相同)。

已知容器总数 P 的数量较大,但可表示为 p1 的 p2 次方(即 P=p1^p2),其中 p1、p2 均为可直接记录的正整数。为了让活动尽早开始,需要找到一种方案,使从开始准备到完成分装的时间(小时数)最短。

输入格式

每组输入数据共三行:
第一行有一个正整数 L,代表物资生成方案的种类数;
第二行有两个正整数 p1、p2,以空格隔开,p1^p2 即表示容器的总数 P;
第三行有 L 个正整数,第 i 个数 Bi 表示第 i 种方案经过 1 小时后的物资数量(即 1 份物资 1 小时后变为 Bi 份)。

数据规模

  • 1≤L≤10000
  • 1≤p1≤30000,1≤p2≤10000
  • 1≤Bi≤2,000,000,000


输出格式

每组输出共一行,为一个整数,表示从开始准备到完成分装的最少时间(单位:小时)。若无论选择哪种方案都无法满足要求,则输出 - 1。


样例2:
2
24 1
30 12
输出:
2

输入样例 复制

1
2 1
3

输出样例 复制

-1

数据范围与提示

样例 1 解释

选择唯一的方案:1 小时后物资数量为 3(无法均分入 2 个容器),2 小时后为 9(仍无法均分)…… 由于该方案的物资数量始终是 3 的幂次(奇数),而 P=2,永远无法满足 “均分” 要求,故输出 - 1。

输入样例 2

2
24 1
30 12

输出样例 2

2

样例 2 解释

  • 第 1 种方案:1 小时后物资 30 份(30 不能被 24 整除),2 小时后 900 份(900÷24=37.5,不整除),3 小时后 27000 份(27000÷24=1125,整除),故需 3 小时;
  • 第 2 种方案:1 小时后物资 12 份(12 不能被 24 整除),2 小时后 144 份(144÷24=6,整除),故需 2 小时。
    因此最短时间为 2 小时。