#P1124. 王国英雄

    ID: 125 传统题 2000ms 256MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>贪心其他数学模拟普及+/提高整数分块

王国英雄

王国英雄

题目描述

《王国英雄》是一款点击式冒险游戏,游戏中的主角踏上了拯救父亲的危险旅程,并成为了王国的英雄。

游戏中的钱叫做金币,可以用来购买各种用品,甚至完成某些任务。俗话说,富贵险中求,我们的天才玩家BaoBao就找到了一条致富之路。游戏中有一个磨坊,磨坊主以每袋 pp 金币的价格出售面粉。还有一家酒馆,酒保以每袋 qq 金币( q>pq > p )的价格购买面粉。显然,BaoBao可以将差价收入囊中,但在两个地方之间移动和点击买卖按钮也需要时间。

更确切地说,如果BaoBao一次从磨坊买入 xx 袋面粉,他需要花费 (ax+b)(ax + b) 秒和 pxpx 金币;如果BaoBao一次从酒馆卖出 xx 袋面粉,他需要花费 (cx+d)(cx + d) 秒,但可以赚取 qxqx 金币。BaoBao目前有 mm 金子,但由于他该睡觉了,他最多只能玩 tt 秒的游戏。请计算他玩完游戏后最多可以拥有的金币数。

输入格式

有多个测试用例。输入的第一行包含一个整数 TT ( 1T5001 \le T \le 500 ),表示测试用例的数量。对于每个测试用例

第一行包含三个整数 ppaabb ( 1p,a1091 \le p, a \le 10^9 , 0b1090 \le b \le 10^9 )。

第二行包含三个整数 qqccddp<q109p < q \le 10^91c1091 \le c \le 10^90d1090 \le d \le 10^9 )。

第三行包含两个整数 mmtt1m,t1091 \le m, t \le 10^9 )。

输出格式

针对每个测试用例,输出一行包含一个整数的数据,表示在最多 tt 秒之后,BaoBao可以拥有的最大金子数量。

样例 #1

样例输入 #1

3
5 2 3
8 1 5
14 36
5 2 0
8 1 3
17 6
100 1 0
10000 1 0
99 100000

样例输出 #1

32
20
99

提示

对于第一个示例测试用例,最佳策略之一是

  • BaoBao先从面粉厂买了 22 袋面粉。耗时 2×2+3=72 \times 2 + 3 = 7 秒,花费 5×2=105 \times 2 = 10 金子。然后他把所有面粉卖给小酒馆。又花了 1×2+5=71 \times 2 + 5 = 7 秒,但BaoBao赚了 8×2=168 \times 2 = 16 金子。现在BaoBao有 1410+16=2014 - 10 + 16 = 20 金子,还剩 3677=2236 - 7 - 7 = 22 秒。
  • 然后BaoBao从磨坊买了 44 袋面粉。耗时 2×4+3=112 \times 4 + 3 = 11 秒,花费 5×4=205 \times 4 = 20 金子。然后他将所有面粉卖给酒馆。又花了 1×4+5=91 \times 4 + 5 = 9 秒,但BaoBao赚了 8×4=328 \times 4 = 32 金币。现在BaoBao有 2020+32=3220 - 20 + 32 = 32 金子,还剩 22119=222 - 11 - 9 = 2 秒。
  • 现在BaoBao没有时间买卖面粉了。所以答案是 3232

在第二个样本测试用例中,BaoBao只来得及买一袋面粉和卖一袋面粉。因此答案为 175+8=2017 - 5 + 8 = 20

第三个测试案例中,BaoBao没有足够的金币购买面粉。所以答案是 9999