#CF1350B. Orac 和模型
Orac 和模型
B. Orac 和模型
每次测试时间限制: 秒
内存限制: 兆字节
商店里有 个模型,编号从 到 ,尺寸分别为 。
Orac 会购买其中一些模型,并按编号递增的顺序排列(即按下标顺序,而不是按尺寸)。
Orac 认为,如果对于任意两个相邻的模型(下标分别为 和 ,满足 ),有 能被 整除,且 ,那么这样得到的排列是优美的。
例如,对于 个模型,尺寸为 ,他可以购买下标为 、 和 的模型,得到的排列是优美的。此外,只包含一个模型的排列也被认为是优美的。
Orac 想知道他最多能购买多少个模型,并且他可能会多次询问这个问题。
输入
第一行包含一个整数 ()——查询的数量。
每个查询包含两行:
- 第一行包含一个整数 ()——商店中模型的数量。
- 第二行包含 个整数 ()——模型的尺寸。
保证所有查询的 之和不超过 。
输出
输出 行,第 行应包含第 个查询中 Orac 能购买的模型的最大数量。
示例
输入
4
4
5 3 4 6
7
1 4 2 3 6 4 9
5
5 4 3 2 1
1
9
输出
2
3
1
1
说明
- 在第一个查询中,例如 Orac 可以购买下标为 和 的模型,因为 能被 整除,且 。通过枚举可知,不存在超过两个模型的优美排列。
- 在第二个查询中,Orac 可以购买下标为 、 和 的模型。通过枚举可知,不存在超过三个模型的优美排列。
- 在第三个查询中,不存在超过一个模型的优美排列。B. Orac 和模型
每次测试时间限制: 秒
内存限制: 兆字节
商店里有 个模型,编号从 到 ,尺寸分别为 。
Orac 会购买其中一些模型,并按编号递增的顺序排列(即按下标顺序,而不是按尺寸)。
Orac 认为,如果对于任意两个相邻的模型(下标分别为 和 ,满足 ),有 能被 整除,且 ,那么这样得到的排列是优美的。
例如,对于 个模型,尺寸为 ,他可以购买下标为 、 和 的模型,得到的排列是优美的。此外,只包含一个模型的排列也被认为是优美的。
Orac 想知道他最多能购买多少个模型,并且他可能会多次询问这个问题。
输入
第一行包含一个整数 ()——查询的数量。
每个查询包含两行:
- 第一行包含一个整数 ()——商店中模型的数量。
- 第二行包含 个整数 ()——模型的尺寸。
保证所有查询的 之和不超过 。
输出
输出 行,第 行应包含第 个查询中 Orac 能购买的模型的最大数量。
示例
输入
4
4
5 3 4 6
7
1 4 2 3 6 4 9
5
5 4 3 2 1
1
9
输出
2
3
1
1
说明
- 在第一个查询中,例如 Orac 可以购买下标为 和 的模型,因为 能被 整除,且 。通过枚举可知,不存在超过两个模型的优美排列。
- 在第二个查询中,Orac 可以购买下标为 、 和 的模型。通过枚举可知,不存在超过三个模型的优美排列。
- 在第三个查询中,不存在超过一个模型的优美排列。