B. 新面包店
每次测试时间限制:1 秒
每次测试内存限制:256 兆字节
鲍勃决定开一家面包店。开业当天,他烤了n个待售的面包。每个面包的正常售价为a个硬币,为了吸引顾客,鲍勃推出了如下促销活动:
鲍勃选择某个整数k(0≤k≤min(n,b))。
鲍勃卖出的前k个面包按调整后的价格定价,其中第i个(1≤i≤k)售出的面包价格为(b−i+1)个硬币。
剩余的(n−k)个面包,每个按a个硬币出售。
注意k可以等于0,这种情况下,鲍勃的所有面包都将按正常价格a出售。
请帮鲍勃计算出,卖出全部n个面包能获得的最大利润。
输入
每组测试包含多个测试用例。
第一行输入一个整数t(1≤t≤104),表示测试用例的数量。
每个测试用例仅占一行,包含三个整数n、a、b(1≤n,a,b≤109),分别代表面包的数量、面包的正常售价、促销活动中第一个面包的售价。
输出
对于每个测试用例,输出一个整数,表示鲍勃能获得的最大利润。
样例输入
7
4 4 5
5 5 9
10 10 5
5 5 11
1000000000 1000000000 1000000000
1000000000 1000000000 1
1000 1 1000
样例输出
17
35
100
45
1000000000000000000
1000000000000000000
500500
说明
在第一个测试用例中,鲍勃的最优选择是令 k=1。
此时他以 5 个硬币卖出 1 个面包,剩余 3 个面包每个按原价 4 个硬币卖出。
总利润为 5+4+4+4=17 个硬币。
在第二个测试用例中,鲍勃的最优选择是令 k=5。
此时所有面包都按促销价格出售,总利润为 9+8+7+6+5=35 个硬币。
在第三个测试用例中,鲍勃的最优选择是令 k=0。
此时所有面包都按原价出售,总利润为 10⋅10=100 个硬币。