硬币
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述
在 Floating Island 的货币系统中,有各种类型的硬币:
- 面值是不同的正整数。有一个面值为 1 的硬币类型。
- 对于每一对不同的硬币类型,其中一个硬币类型的面值能整除另一个硬币类型的面值。
不同面值的硬币看起来完全相同,唯一的区别是它们有不同的颜色:
- 同一类型的硬币都是同一种颜色。
- 不同类型的硬币都有不同的颜色。
你知道 Floating Island 中使用的所有硬币面值,但你不知道它们的颜色。你甚至不知道硬币上使用的颜色集合。
对于每种面值,你想知道该面值的硬币的颜色。为了实现这一点,你有一张信用卡,可以从一个可以提供无限金额的 ATM 机上进行查询。每次查询你将提供一个正整数 X,ATM 机将以最少的硬币来支付你所请求的金额。不难发现最少硬币的支付方案是唯一的。
请求出你确定每种面值对应的颜色所需的最少查询次数。
输入格式
第一行一个正整数 n,表示硬币面值的数量。第二行 n 个递增的正整数 a₁, ..., aₙ,表示硬币的面值。
输出格式
输出一行一个整数,表示最少查询次数。
样例 1 输入
1
1
【样例 1 输出】
1
【样例 1 解释】
只有一种硬币面值,因此查询一次即可。
样例2输入
2
1 3
样例2输出
1
样例2解释
查询一次 x = 5,数量为 2 的颜色对应的面值为1 ,数量为 1 的颜色对应的面值为 3。
样例3输入
3
1 2 4
样例3输出
2
样例4输入
5
1 2 4 8 16
样例4输出
3
【子任务】
保证对于所有测试点满足:。
以下是提取的表格:
测试点编号 | n≤ |
---|---|
1,2 | 2 |
3,4 | 3 |
5~7 | 15 |
8~10 | 60 |