#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...](相邻层差超限)