#HX1252E. 发积分

提交14 通过11
通过率78.6%
时间限制1000ms
内存限制128MiB
    ID: 10039 传统题 1000ms 128MiB 尝试: 14 已通过: 11 难度: 普及 上传者: 标签>编程题C++CSPCSP复赛CSP复赛专项练习暑假CSP复赛集训暑假集训1252-二分优化

题目描述

题目描述

刘老师喜欢上课给同学们在做课后题的过程中,发放奶茶,当然奶茶是需要用积分来兑换的,可是刘老师有时候也喜欢耍赖,故意留着很多积分不给同学们兑换,结果不小心欠了马二狗很多积分,马二狗很着急,天天催着刘老师要奶茶,没有办法,刘老师准备在接下来 k 次课内发给二狗至少 n 分。

刘老师打算这样发积分:首先在第 1 次课发 x 分,第 2 次课发 ⌈x/2⌉ 分,依次类推,在第 i次课发⌈x/i⌉ 分。其中 ⌈y⌉ 表示大于等于 y 的最小整数(向上取整)。

如果 x 的值太大,积分就会很快发完了。所以刘老师要在前 k 次课发出的积分大于等于 n 分的前提下,找一个最小的 x。

输入格式

1行,2个正整数 n,k。

100%数据:1n10121\le n\le 10^{12}1k1061\le k\le 10^{6}

输出格式

1行,满足条件的最小的 x。

样例输入

10 3

样例输出

5

提示

样例1说明:取 x=5x=5,第 1 天发 5 分,第 2 天发 ⌈5/2⌉=3=3 分,第 3 天发 ⌈5/3⌉=2=2 分,总共发 10 分。

如果取x=4x=4,第 1 天发 4 分,第 2 天发 ⌈4/2⌉=2=2 分,第 3 天发 ⌈4/3⌉=2=2 分,前 3 天只能发 8 分,不够 10 分。

所以满足条件的最小x 值为 5。

答案可能超过32位整数类型范围。

100%数据:1n10121\le n\le 10^{12}1k1061\le k\le 10^{6}

1 1
1
10 3
5
52 4
25