#CF2137C. Maximum Even Sum

    ID: 6952 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>暴力贪心模拟数学CodeforcesCodeforces Round 1047(Div3)Div3CCF2137C1100

Maximum Even Sum

题目描述

给定两个整数 aabb,你需要执行以下操作:

  1. 选择一个整数 kk,使得 bb 能被 kk 整除(即 kkbb 的约数)。
  2. 同时将 aa 乘以 kk,并将 bb 除以 kk

请找出 a+ba + b 可能的最大偶数值。若无法使 a+ba + b 为偶数,则输出 1-1

输入格式

每组测试包含多组测试用例。第一行输入测试用例数量 tt1t1041 \leq t \leq 10^4),随后依次描述每组测试用例。

每组测试用例的输入格式如下:

  • 一行包含两个整数 aabb1a,bab10181 \leq a,b \leq a \cdot b \leq 10^{18})。

输出格式

对于每组测试用例,在新的一行输出 a+ba + b 可能的最大偶数值。若无法使 a+ba + b 为偶数,则输出 1-1

样例

7
8 1
1 8
7 7
2 6
9 16
1 6
4 6
-1
6
50
8
74
-1
14

样例说明

  • 第一个测试用例:可以证明无法使 a+ba + b 为偶数,因此输出 1-1
  • 第二个测试用例:最优的 kk 值为 22。此时 aa 变为 1×2=21 \times 2 = 2bb 变为 8÷2=48 \div 2 = 4,和为 2+4=62 + 4 = 6

来源

Codeforces 2137C,英文题名 Maximum Even Sum。