#351. 鸡蛋的硬度

鸡蛋的硬度

鸡蛋的硬度

题目描述

最近XX公司举办了一个奇怪的比赛:鸡蛋硬度之王争霸赛。参赛者是来自世界各地的母鸡,比赛的内容是看谁下的蛋最硬,更奇怪的是XX公司并不使用什么精密仪器来测量蛋的硬度,他们采用了一种最老土的办法——从高度扔鸡蛋——来测试鸡蛋的硬度:如果一只母鸡下的蛋从高楼的第 aa 层摔下来没摔破,但是从 a+1a+1 层摔下来时摔破了,那么就说这只母鸡的鸡蛋的硬度是 aa

现在有 nn 层的高楼和 mm 个硬度相同的鸡蛋,勤于思考的小A想知道:在最坏情况下,为了确定鸡蛋的硬度,至少需要扔多少次鸡蛋?

输入

输入包括多组数据,每组数据一行,包含两个正整数 nnmm1n1001 \le n \le 1001m101 \le m \le 10),其中 nn 表示楼的高度,mm 表示你现在拥有的鸡蛋个数,这些鸡蛋硬度相同(即它们从同样高的地方掉下来要么都摔碎要么都不碎)。对每组输入数据,你可以假定鸡蛋的硬度在 00nn 之间,即在 n+1n+1 层扔鸡蛋一定会碎。输入以文件结束符(EOF)结束。

输出

对于每一组输入,输出一个整数,表示使用最优策略在最坏情况下所需要的扔鸡蛋次数。

样例输入

100 1
100 2

样例输出

100
14