小方有w个白色立方体和b个黑色立方体,现在小方想把它们堆成一个立方体塔。
一座高度为h的立方体塔,最底层有h个立方体,每往上一层,所需立方体减一,直到最高层只需要一个立方体。
为了让这座塔看起来美观,小方希望,每一层都只能用一种颜色的立方体。
小方希望把这座塔叠的尽可能高,因此他想知道塔的最大高度是多少,以及这个高度的立方体塔能有几种。
两种立方体塔,当且仅当至少有一层的颜色是不同的,则被认为是不同的。
输入格式
共一行,包含两个整数w和b。
输出格式
共一行,包含两个整数h和c,分别表示最高塔的高度以及此高度塔的种类数。
因为种类数可能较多,请将c对 1 0 9 + 7 10^9+7 109+7取模后的值输出。
数据范围
0 ≤ w , b ≤ 1 0 5 0≤w,b≤10^5 0≤w,b≤105
输入样例:
1 1
输出样例:
1 2
解题思路
首先我们计算一下不考虑颜色的情况下最大高度(理论高度)是多少,这是一个等差数列求和问题
- ( 1 + h ) ∗ h 2 ≤ ( w + b ) \frac{(1+h)*h}{2}\leq(w+b) 2(1+h