CF1980D.GCD-sequence
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
最大公约数(GCD)是两个整数 x 和 y 可以整除的最大整数 z。例如,GCD(36,48)=12,GCD(5,10)=5,以及 GCD(7,11)=1。
Kristina 有一个由正整数组成的数组 a,其中有 n 个数。她想要计算相邻两个数的最大公约数,得到一个新数组 b,称为最大公约数序列。
因此,最大公约数序列的元素 b 将使用公式 bi=GCD(ai,ai+1) 计算得到 1≤i≤n−1。
确定是否可以从数组 a 中移除恰好一个数字,使得最大公约数序列 b 是非递减的(即,bi≤bi+1 始终为真)。
例如,如果 Khristina 有一个数组 a=[20,6,12,3,48,36]。如果她从中移除 a4=3 并计算 b 的最大公约数序列,她会得到:
- b1=GCD(20,6)=2
- b2=GCD(6,12)=6
- b3=GCD(12,48)=12
- b4=GCD(48,36)=12
结果得到的最大公约数序列 b=[2,6,12,12] 是非递减的,因为 b1≤b2≤b3≤b4。
输入格式
输入数据的第一行包含一个数字 t(1≤t≤104)— 测试中的测试用例数量。
接下来是每个测试用例的描述。
每个测试用例的第一行包含一个整数 n(3≤n≤2⋅105)— 数组 a 中元素的数量。
每个测试用例的第二行包含恰好 n 个整数 ai(1≤ai≤109)— 数组 a 的元素。
保证所有测试用例中 n 的总和不超过 2⋅105。
输出格式
对于每个测试用例,输出一行:
- 如果可以移除数组 a 中的恰好一个数字,使得 b 的最大公约数序列是非递减的,则输出
YES;
否则输出NO。
你可以以任何形式输出答案(例如,字符串 yEs,yes,Yes,和 YES 都将被视为肯定答案)。
输入输出样例
输入#1
12 6 20 6 12 3 48 36 4 12 6 3 4 3 10 12 3 5 32 16 8 4 2 5 100 50 2 10 20 4 2 4 8 1 10 7 4 6 2 4 5 1 4 2 8 7 5 9 6 8 5 9 2 6 11 14 8 12 9 3 9 5 7 3 10 6 3 12 6 3 3 4 2 4 8 1 6 11 12 6 12 3 6
输出#1
YES NO YES NO YES YES NO YES YES YES YES YES
输入解题思路,AI测评打分。不知道怎么写?