CF2148G.Farmer John's Last Wish
普及+/提高
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Bessie 在地上发现了一个长度为 n 的数组 a。在数组旁边似乎还有一张手写的便签,看起来是 Farmer John 写的。便签上写着:
“亲爱的 Bessie,请帮帮我!设 f(a) 表示在区间 [1,n) 内使得 gcd(a1,a2,…,ak)>gcd(a1,a2,…,ak+1) 的最大的整数 k,如果不存在这样的 k,则为 0。”
Bessie 决定帮助 FJ。她定义 g(a) 表示所有 a 的重排中 f(a) 的最大值。
Bessie 不仅打算找到 g(a),还打算对于 a 的每个前缀 p 求出 g(p) 的值。
输出 n 个整数,第 i 个数表示 g([a1,a2,…,ai])。
输入格式
第一行包含一个整数 t(1≤t≤104),表示测试用例组数。
每组测试用例的第一行包含一个整数 n(1≤n≤2⋅105)。
接下来一行包含 n 个用空格分隔的整数 a1,a2,…,an(1≤ai≤n)。
保证所有测试用例中 n 的总和不超过 2⋅105。
输出格式
对于每个测试用例,在一行内输出 n 个整数,第 i 个数应为 g([a1,a2,…,ai])。
输入输出样例
输入#1
3 8 2 4 3 6 5 7 8 6 6 6 6 6 6 6 6 9 8 4 2 6 3 9 5 7 8
输出#1
0 1 2 3 3 3 4 5 0 0 0 0 0 0 0 1 2 2 4 4 4 4 5
说明/提示
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?