#P0788. 双限最大乘积
双限最大乘积
题目描述
小蓝有两个限制数字 s 和 p。
他想选择两个正整数 a 和 b,并且规定 a <= b。如果它们同时满足:
a + b <= s
a * b <= p
那么 (a, b) 就是一组合法数对。
小蓝想知道,在所有合法数对中,a * b 最大可以是多少。
现在有多组询问,请你分别求出答案。
输入格式
第一行输入一个整数 T,表示询问次数。
接下来 T 行,每行输入两个整数 s 和 p。
输出格式
输出 T 行,每行一个整数。
第 i 行表示第 i 个询问中,合法数对的最大乘积。
样例输入
3
10 100
10 20
7 100
样例输出
25
20
12
样例解释
对于第 1 组询问,选择 a = 5, b = 5,有 a + b = 10,a * b = 25。
对于第 2 组询问,选择 a = 2, b = 8,有 a + b = 10,a * b = 16;选择 a = 4, b = 5,有 a + b = 9,a * b = 20,答案为 20。
对于第 3 组询问,选择 a = 3, b = 4,有 a + b = 7,a * b = 12。
数据范围
对于所有测试数据,满足:
提示:答案可能比较大,程序中建议使用 long long 保存。