wzr的签到题
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

现有 n 个物品(n ≥3),其中包含 n-1 个次品和 1 个正品(次品与正品除了重量不一样以外其他都一样,所有次品都一模一样)。

现有一台天平,仅能通过左右两侧放置物品,判断两侧所放物品的重量 “相等” 或 “不等”,我们可以在天平两侧放置任意数量的正品和次品。

若需从这 n个物品中,保证找出任意 x 个次品1≤x<n),请问在最坏情况下,至少需要称量多少次?

输入描述:

第一行输入两个数n3≤n≤10^{9})和x1≤x<n),分别表示物品数量以及需要找出的次品数量

输出描述:

一个整数,表示最坏情况下的操作数
示例1

输入

复制
3 1

输出

复制
1

说明

假设有物品A、B、C,假设A和B比重量,如果天平显示一样重,则A、B都是次品,否则C是次品,可以说明无论如何都只需要比较一次
示例2

输入

复制
3 2

输出

复制
2

说明

假设有物品A、B、C,假设A和B比重量,如果天平显示一样重,则A、B都是次品,只需要比较一次。否则C是次品,然后让C与A进行比较,如果一样重则说明A是次品,否则B就是次品,这样就需要比较2次
示例3

输入

复制
6 2

输出

复制
1

备注: