#P5071. 积木房子

积木房子

Description

## 题目描述 小英计划使用她手中的积木搭建一个N层的积木房子,从上到下每一层分别用数字1到N进行标记。
为了确保房子的稳定性,她设定了一个规则:积木房子的整体稳定性由第1层的积木数量决定,我们称之为K(这是我们需要求解的目标)。
对于任意一层i(i > 1),必须同时满足以下两个条件: - 1.第i层的积木数量不得少于第i-1层的积木数量。 - 2.第i层的积木数量必须比第1层到第i-1层积木数量的算术平均数多出至少K个。算术平均数是指从第1层到第i-1层所有积木数量的总和除以层数(i-1)。 现在,小英手上有M块积木,她想知道在满足上述所有条件的前提下,她最多能确保第一层的积木数量(即K)为多少。如果无法满足这些条件,则输出0。 ## 输入格式 输入包含两个整数N和M,分别表示积木房子的层数和小英手上的积木总数。
输入满足以下条件:1 ≤ N ≤ 1000,000 ,1≤ M ≤ 10^18 ## 输出格式 输出一个整数,表示在满足条件的所有建造方案中,小英最多能保证积木房子的稳定性(即第一层的积木数量)为多少。
如果无法搭建出满足条件的积木房子,则输出0。 ## 样例输入/输出 ```input1 5 15 ``` ```output1 1 ``` ### 样例解释1 一种满足条件的积木房子层数配置为从上到下1, 2, 3, 3, 4,满足了稳定性的要求。这样,第一层有1个积木。 ```input2 2 2 ``` ```output2 0 ``` ### 样例解释2 即使我们尝试将第一层的积木数量设为1,第二层的积木数量设为2,但两层积木的总数(1+2=3)仍然超出了小英手中的积木总数(2)。
因此,无法搭建出满足条件的积木房子,所以输出为0。 ## 数据范围 对于所有的数据,保证:1 ≤ N ≤ 1000000, 1 ≤ M ≤ 10^18。

Source

二分答案