差值卡片
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
差值卡片
【题目描述】
小林收集了 张数字卡片,第 张卡片上写着正整数 .不同卡片上的数字可以相同.
他可以进行任意多次下面的操作,也可以不操作:
选出两张数字不同的卡片,设上面的数字为 和 ,再制作一张写着 的新卡片.原来的卡片都会保留,新卡片也可以参与之后的操作.
小林只关心收集到了多少种不同的数字.请你求出,经过操作后,所有卡片上最多能出现多少种不同的正整数.
例如,多张卡片都写着 时,数字 仍然只算一种.由于只能选择数字不同的卡片,操作不会产生 .
【输入描述】
第一行输入一个整数 ,表示初始卡片的数量.
第二行输入 个整数 ,表示初始卡片上的数字.
【输出描述】
输出一个整数,表示最多能出现的不同正整数的数量.
【样例 1】
【样例 1 输入】
2
8 12
【样例 1 输出】
3
【样例 1 解释】
选择写着 和 的卡片,可以制作一张写着 的卡片.此时已有的不同数字为 .任意两个不同数字的差都已经在其中,不能再得到其他数字,因此答案为 .
【样例 2】
【样例 2 输入】
3
1 5 5
【样例 2 输出】
5
【样例 2 解释】
先用 和 得到 ,再用新得到的 和 得到 ,接着得到 .最终可以收集到 .初始的两张 只算一种数字.
【样例 3】
【样例 3 输入】
4
21 21 21 21
【样例 3 输出】
1
【样例 3 解释】
没有两张数字不同的卡片,不能进行操作,已有数字也只算一种.
【样例 4】
见选手目录下的 Data/sample4.in 和 Data/sample4.ans.该样例满足所有 .
【样例 5】
见选手目录下的 Data/sample5.in 和 Data/sample5.ans.该样例满足 .
【样例 6】
见选手目录下的 Data/sample6.in 和 Data/sample6.ans.该样例满足最小的初始数字能整除所有初始数字.
【样例 7】
见选手目录下的 Data/sample7.in 和 Data/sample7.ans.该样例满足 .
【样例 8】
见选手目录下的 Data/sample8.in 和 Data/sample8.ans.该样例无特殊性质.
【数据规模与约定】
对于所有测试数据,保证 ,.
本题共有五个相互独立的子任务.只有通过一个子任务中的全部测试点,才能获得该子任务的分数.
| 子任务编号 | 分数 | 特殊限制 |
|---|---|---|
| 1 | 20 | 所有 |
| 2 | 10 | |
| 3 | 20 | 设 ,所有 都是 的倍数 |
| 4 | ||
| 5 | 30 | 无特殊限制 |