题目描述
1. 小X的父母出差N天,给他留下M块糖果。小X决定每天吃的糖果数量不少于前一天吃的一半,但是他又不想在父母回来之前的某一天没有糖果吃,请问他一天最多吃多少块糖果
输入描述
每个输入包含一个测试用例。
每个测试用例的第一行包含两个整数,表示父母出差的天数N(N<=50000)和糖果的数量M(N<=M<=10000)
输出描述:
输出一个数表示小X第一天最多能吃多少块糖果
示例1
输入
3 7
输出
4
基本思路就是先用二分查找找到第一天吃的糖果的数,然后统计一共吃的糖果的个数,与实际给的总共的糖果个数比较,需要注意的是,糖果都是整数个的,然后假如有一天吃了一块,后面就总是吃一块的,因为0.5块也是要吃一块的。
var lineNext = readline();
var lines = lineNext.split(" ");
var N = parseInt(lines[0])
var M = parseInt(lines[1])
var low=1;
var high=M;
while(low+1<high){
var mid = low+Math.floor((high-low)/2);
if(Fn(mid,N,M)){
low=mid;
}else{
high = mid-1;