代数学家
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
代数学家
时间限制:1000ms
空间限制:256MB
题目描述
最近小添玩某三国为背景的游戏时遇到了一个叫做裴秀的角色,他拥有一个非常有趣的技能叫做“行图”——“当你使用一张牌结算结束后,会记录这张牌的点数。当你再次使用牌时,如果这张牌的点数是之前记录点数的约数,你可以摸一张牌”。
于是小添非常喜欢这个技能,甚至在打XCPC的时候都要带着这个角色的卡牌。于是他在想应该如何让这个技能能抽取最多的牌?
这里我们考虑一个简化的模型,假设你现在有n张牌,每张牌都有一个不超过m的正整数点数。现在你要不重复的选取中的数构成一个子列,使得总是的约数。小添希望你求出这个子列的最大长度。
输入格式
第一行两个数字n和m,分别表示有n张牌和点数不超过m。 接下来一行有n个数,其中第i个数表示第i张牌的点数。
输出格式
输出一个数,子列的最大长度。
样例输入1
6 13
12 6 7 3 2 1
样例输出1
4
样例1解释
最长的子列可以是{12,6,3,1}。
样例输入2
16 16
3 15 7 12 16 10 6 7 11 5 2 14 13 8 9 16
样例输出2
4
数据范围及约定
对于 的数据,。
对于所有数据,,,,。