CF2002F2.Court Blue (Hard Version)

省选/NOI-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

这是该问题的困难版本。在本版本中,不保证 n=mn=m,且时间限制更高。只有在两个版本的问题都被解决后,你才能进行 hack。

在蓝王的宫廷中,Lelle 和 Flamm 正在进行一场表演赛。比赛包含若干轮。在每一轮中,Lelle 或 Flamm 会赢得胜利。

设 WLW_L 和 WFW_F 分别表示 Lelle 和 Flamm 的获胜次数。蓝王认为一场比赛是成功的,当且仅当:

  • 每一轮结束后,gcd⁡(WL,WF)≤1\gcd(W_L, W_F) \leq 1;
  • 比赛结束时,WL≤n,WF≤mW_L \leq n, W_F \leq m。

注意,对于任意非负整数 xx,有 gcd⁡(0,x)=gcd⁡(x,0)=x\gcd(0, x) = \gcd(x, 0) = x。

Lelle 和 Flamm 可以随时决定停止比赛,表演的最终得分为 l⋅WL+f⋅WFl \cdot W_L + f \cdot W_F。

请帮助 Lelle 和 Flamm 协调他们的胜负,使得表演是成功的,并且总得分最大。

输入格式

第一行包含一个整数 tt(1≤t≤1031 \leq t \leq 10^3)——表示测试用例的数量。

每个测试用例包含一行,包含四个整数 nn、mm、ll、ff(2≤n≤m≤2⋅1072 \leq n \leq m \leq 2 \cdot 10^7,1≤l,f≤1091 \leq l, f \leq 10^9):nn 和 mm 分别给出 Lelle 和 Flamm 获胜次数的上限,ll 和 ff 决定了表演的最终得分。

特殊额外限制:保证每个测试用例中,nn 和 mm 的组合都是唯一的。

输出格式

对于每个测试用例,输出一个整数——成功表演的最大总得分。

输入输出样例

  • 输入#1

    8
    3 4 2 5
    4 4 1 4
    6 6 2 2
    7 9 2 3
    8 9 9 1
    2 7 1 4
    5 9 1 4
    5 6 6 7

    输出#1

    22
    17
    18
    37
    77
    30
    41
    59
  • 输入#2

    2
    3082823 20000000 1341 331
    20000000 20000000 3 5

    输出#2

    10754065643
    159999991
  • 输入#3

    1
    139 1293 193 412

    输出#3

    559543

说明/提示

在第一个测试用例中,一种可能的表演如下:

  • Flamm 获胜,gcd⁡(0,1)=1\gcd(0, 1) = 1。
  • Lelle 获胜,gcd⁡(1,1)=1\gcd(1, 1) = 1。
  • Flamm 获胜,gcd⁡(1,2)=1\gcd(1, 2) = 1。
  • Flamm 获胜,gcd⁡(1,3)=1\gcd(1, 3) = 1。
  • Flamm 获胜,gcd⁡(1,4)=1\gcd(1, 4) = 1。
  • Lelle 和 Flamm 同意停止比赛。

最终得分为 1⋅2+4⋅5=221 \cdot 2 + 4 \cdot 5 = 22。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页