#GOC118883. 书架

书架

题目描述

你需要在一个无限多层的书架上放置书籍,使得所有书籍满足以下条件:

1.第一层的书数量不能超过H本(防止书籍滑落);

2. 相邻两层的书数量差不能超过1本(避免结构不稳定);

3. 所有层的书总数恰好等于n本。

请问:至少需要多少层来放置书籍。(注意不放书那层的书籍数量为0,也需满足相邻两层的书数量差不超1,即最后放书那层的书籍数量应该为1)

输入格式

输入包含两个整数n和H(1 ≤ n, H ≤ 10^18),分别表示总书数和第一层允许的最多书数。

输出格式

输出满足条件的最少层数。

输入/输出例子1

5 2
3

输入/输出例子2

6 8
3

样例解释

样例1解释

最优解为 [2, 2, 1],总层数为3。


样例2解释

最优解为 [3, 2, 1],总层数为3。


数据范围

50%数据 1 ≤ n, H ≤10^4

100%数据 1 ≤ n, H ≤10^18

样例解释

有效构造示例

1.n=5, H=2:

[2, 2, 1, 0, ...]

[2, 1, 1, 1, , ...]

[1, 0, 1, 2, 1, 0, ...]

2.n=6, H=8:

[3, 2, 1, 0, ...]

[2, 2, 1, 1, 0, ...]

无效构造示例

1.n=5, H=2:

[3, 2, 0, ...](第一层超限)

[2, 3, 0, ...](第2层与第3层的差超限)

[1, 0, 2, 2, ...](第2层与第3层的差超限)

2.n=6, H=4:

[2, 2, 1, 0, ...](总和不足)

[6, 0, ...](第一层超限)

[1, 4, 1, 0...](相邻层差超限)