CF2005D.Alter the GCD
提高+/省选-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定两个数组 a1,a2,…,an 和 b1,b2,…,bn。
你必须恰好执行一次如下操作:
- 选择任意下标 l 和 r,满足 1≤l≤r≤n;
- 对所有满足 l≤i≤r 的 i,交换 ai 和 bi。
请你在恰好执行一次操作后,求 gcd(a1,a2,…,an)+gcd(b1,b2,…,bn) 的最大可能值,并统计有多少不同的 (l,r) 对能够达到最大值。
输入格式
输入的第一行包含一个整数 t(1≤t≤105),表示测试用例的数量。接下来是每个测试用例的描述。
每个测试用例的第一行包含一个整数 n(1≤n≤2⋅105),表示每个数组中的元素个数。
接下来一行包含 n 个整数 a1,a2,…,an(1≤ai≤109),表示数组 a 的元素。
最后一行包含 n 个整数 b1,b2,…,bn(1≤bi≤109),表示数组 b 的元素。
所有测试用例中 n 的总和不超过 5⋅105。
输出格式
对于每个测试用例,输出一行两个整数,分别表示在恰好执行一次操作后,gcd(a1,a2,…,an)+gcd(b1,b2,…,bn) 的最大值,以及达到最大值的 (l,r) 对的数量。
输入输出样例
输入#1
5 8 11 4 16 17 3 24 25 8 8 10 4 21 17 18 25 21 4 6 4 24 13 15 3 1 14 2 13 14 5 8 8 20 17 15 11 21 10 3 7 9 9 4 20 14 9 13 1 2 18 13 15 20
输出#1
2 36 3 2 2 3 2 36 6 1
说明/提示
在第 1、3、4 个测试用例中,无法使任一数组的最大公约数大于 1,因此答案为 1+1=2。任意一组 (l,r) 都能达到相同的结果,例如在第 1 个测试用例中共有 36 组这样的 (l,r)。
在最后一个测试用例中,必须选择 l=1,r=2 才能使答案最大,此时第一个数组的最大公约数为 5,第二个数组的最大公约数为 1,因此答案为 5+1=6,且方案数为 1。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?