#716. 不计代价(Hard)

不计代价(Hard)

题目描述

这是该问题的困难版本。版本之间的差异在于,在此版本中, 对于所有 ii ( 1in1 \le i \le n ), 1bi1091 \le b_i \le 10^9

你有两个长度为 nn 的正整数数组 aabb。你可以任意次(也可以 00 次)对某个位置 ii 做如下操作:

  • aia_i 增加 11,这次操作的代价为 bib_i

问:使得存在两个下标 i,ji,j1i<jn1\le i<j\le n)满足 gcd(ai,aj)>1\gcd(a_i,a_j)>1 的最小总代价是多少?

其中 gcd(x,y)\gcd(x,y) 表示 xxyy 的最大公约数。

输入格式

  • 11 行:一个整数 tt,表示测试用例的个数。

  • 对于每个测试用例有三行输入:

    • 11 行:整数 nn2n21052\le n\le 2\cdot10^5)。
    • 22 行:nn 个整数 a1,a2,,ana_1,a_2,\dots,a_n1ai21051\le a_i\le 2\cdot10^5)。
    • 33 行:nn 个整数 b1,b2,,bnb_1,b_2,\dots,b_n1bi1091 \le b_i \le 10^9)。

保证所有测试用例中 n2105\sum n \le 2\cdot10^5

输出格式

对于每个测试用例,输出一行,包含一个整数 —— 达到题目要求所需的最小总代价。

样例输入

6
2
1 1
1 2
2
4 8
41 67
5
1 1 727 1 1
1 1 1000 1 1
2
3 11
1 1
3
2 7 11
1 6 6
3
2 7 11
100 1 2

样例输出

3
0
2
1
5
1

说明

样例解释

  • 第一个测试用例:初始 a=[1,1]a=[1,1]。可以对第一个元素加 11(代价 11)得到 [2,1][2,1],再对第二个元素加 11(代价 22)得到 [2,2][2,2],此时 gcd(2,2)=2>1\gcd(2,2)=2>1,总代价 33。可以证明不可更小。
  • 第二个测试用例:a=[4,8]a=[4,8],已满足 gcd(4,8)=4>1\gcd(4,8)=4>1,所以代价 00