#include <iostream> #include <cstring> #include <algorithm> #include <cmath> using namespace std; const int N = 100010; int n, day; bool check(int num)//判断第一天吃掉num块巧克力是否可以 { int c = n; int d = day; int div = num; while(d) { c -= div; d--; div = ceil((double)div / 2); if(c < 0) return false; //不可以 } return true;//可以 } int main() { cin >> day >> n; int l = 1, r = n; while(l < r) //二分枚举 { int mid = (l + r + 1) >> 1; if(!check(mid)) r = mid - 1; else l = mid; } cout << l << endl; return 0; }