#P2904. The Mailboxes Manufacturers Problem
The Mailboxes Manufacturers Problem
题目描述
在过去美好的日子里,瑞典的孩子们还被允许用鞭炮炸伤自己的手指。复活节期间,一群群兴奋的孩子会在某些小城市里肆虐,他们心中只有一个念头:炸东西。小盒子很容易被炸掉,因此邮箱成了热门目标。现在,一家小型邮箱制造商想知道他的新型邮箱原型在爆炸前能承受多少鞭炮,并聘请你来帮助他。他将为你提供()个相同的邮箱原型,每个邮箱最多能装()个鞭炮。然而,他不确定需要为你提供多少鞭炮才能让你解决他的问题,于是他问你。你想了一会儿,然后说:"嗯,如果我炸掉了一个邮箱,就不能再用它了。所以如果你只给我个邮箱,我就得从1个鞭炮开始测试,然后是2个,依此类推,直到它最终爆炸。在最坏的情况下,也就是即使装满个鞭炮它也不爆炸,我需要个鞭炮。如果,那就意味着要超过5000个鞭炮!" "太多了,"他回答道。"如果我给你超过个邮箱呢?你能找到一种需要更少鞭炮的策略吗?"
你能吗?你应该让他提供的最少鞭炮数量是多少?
你可以假设以下条件:
- 如果一个邮箱能承受个鞭炮,那么它也能承受个鞭炮。
- 爆炸时,邮箱要么被完全摧毁(炸毁),要么毫发无损,这意味着它可以在另一次测试爆炸中重复使用。
注意:如果邮箱能承受装满个鞭炮的负荷,制造商当然会对这个答案感到满意。但否则,他想知道他的邮箱能承受的最大鞭炮数量。
输入
输入以一个整数()开始,表示接下来的测试用例数量。每个测试用例由一行包含两个整数描述:和,用一个空格分隔。
输出
对于每个测试用例,输出一行,包含一个整数,表示在最坏情况下,为了确定邮箱原型能承受多少鞭炮所需的最小鞭炮数量。
输入样例 1
4
1 10
1 100
3 73
5 100
输出样例 1
55
5050
382
495
来源
Svenskt Mästerskap i Programmering/Norgesmesterskapet 2002