CF478D Red-Green Towers

题目描述

你有 $r$ 块红色的积木和 $g$ 块绿色的积木,它们用于建造红绿塔。红绿塔按照下面的规则来建造: - 红绿塔有若干层; - 如果红绿塔有 $n$ 层,那么塔的第一层应该有 $n$ 块积木,第二层有 $n-1$ 块,第三层有 $n-2$ 块,以此类推,最后一层只有一块。换言之,每一层应该比前面一层少一块; - 红绿塔的每一层必须使用相同颜色的积木。 令 $h$ 表示用 $r$ 个红积木和 $g$ 个绿积木所能搭建的满足上述规则的塔的最大层数。现在你的任务是确定可以建造出多少不同的有 $h$ 层的红绿塔。 如果两个红绿塔相同的一层使用的是不同的颜色,它们就被认为不同的。 你需要写一个程序来求出有多少种高度为 $h$ 的不同的红绿塔。由于答案很大,你只需要输出答案模 $10^9+7$(也就是$1000000007$)后的值。

输入格式

输出格式

说明/提示

The image in the problem statement shows all possible red-green towers for the first sample.