CF2002F2 Court Blue (Hard Version)
题目描述
这是该问题的困难版本。在本版本中,不保证 $n=m$,且时间限制更高。只有在两个版本的问题都被解决后,你才能进行 hack。
在蓝王的宫廷中,Lelle 和 Flamm 正在进行一场表演赛。比赛包含若干轮。在每一轮中,Lelle 或 Flamm 会赢得胜利。
设 $W_L$ 和 $W_F$ 分别表示 Lelle 和 Flamm 的获胜次数。蓝王认为一场比赛是成功的,当且仅当:
- 每一轮结束后,$\gcd(W_L, W_F) \leq 1$;
- 比赛结束时,$W_L \leq n, W_F \leq m$。
注意,对于任意非负整数 $x$,有 $\gcd(0, x) = \gcd(x, 0) = x$。
Lelle 和 Flamm 可以随时决定停止比赛,表演的最终得分为 $l \cdot W_L + f \cdot W_F$。
请帮助 Lelle 和 Flamm 协调他们的胜负,使得表演是成功的,并且总得分最大。
输入格式
第一行包含一个整数 $t$($1 \leq t \leq 10^3$)——表示测试用例的数量。
每个测试用例包含一行,包含四个整数 $n$、$m$、$l$、$f$($2 \leq n \leq m \leq 2 \cdot 10^7$,$1 \leq l, f \leq 10^9$):$n$ 和 $m$ 分别给出 Lelle 和 Flamm 获胜次数的上限,$l$ 和 $f$ 决定了表演的最终得分。
特殊额外限制:保证每个测试用例中,$n$ 和 $m$ 的组合都是唯一的。
输出格式
对于每个测试用例,输出一个整数——成功表演的最大总得分。
说明/提示
在第一个测试用例中,一种可能的表演如下:
- Flamm 获胜,$\gcd(0, 1) = 1$。
- Lelle 获胜,$\gcd(1, 1) = 1$。
- Flamm 获胜,$\gcd(1, 2) = 1$。
- Flamm 获胜,$\gcd(1, 3) = 1$。
- Flamm 获胜,$\gcd(1, 4) = 1$。
- Lelle 和 Flamm 同意停止比赛。
最终得分为 $1 \cdot 2 + 4 \cdot 5 = 22$。
由 ChatGPT 4.1 翻译