#R1003. [KSC001D] A problem about mice

[KSC001D] A problem about mice

题目描述

现在已知有 nn 瓶药剂,其中有且仅有一杯是毒药,其余药剂皆为生理盐水

有一天你不小心把它们弄混了,实验室的教授很生气,命令你在 mm 小时内找出来。

当然,你不可以亲自尝试。你唯一能做的就是申请一定量的小老鼠帮你。

小老鼠每一个小时可以尝试一批药(注意药剂的个数可以 >1> 1),如果药剂里面含有毒药,则这只小老鼠会立即死去;反之则会活下来。

为了让小老鼠们的损伤最小,现在让你求出最少需要几只小老鼠就可以在规定时间内找出毒药,或报告无解。

输入格式

一行两个整数 n,mn,m

输出格式

一行一个整数 pp,表示你派出的老鼠只数,若无解输出 -1

4 1
2
500 24
2

提示

【样例 #1 说明】

显然,可以让第 1 只小老鼠喝下第 1,21,2 瓶,让第 2 只小老鼠喝下第 2,42,4 瓶来达到唯一确定的效果。

【样例 #2 说明】

可以证明不存在比 22 小的答案。

【数据范围与约定】

数据点编号 分值 n,mn,m 特殊性质
11 55 20\leq 20 AB
232\sim 3 1010 B
474\sim 7 2020
8118 \sim 11 105\leq 10^5 B
121312\sim 13 1010
141814\sim 18 2525 109\leq 10^9
192019\sim 20 1010 10100000\leq 10^{100000} A
  • 特殊性质 A:n=mn=m
  • 特殊性质 B:m=1m=1

对于 100%100\% 的数据:1n,m101000001 \leq n,m \leq 10^{100000}