#P1817. 加法拆分

加法拆分

题目描述

任意一个正整数都可以拆分成若干个正整数相加的形式,如3 = 1+1+1 = 1 + 2 = 2 + 1 = 3,一共有4种。

小明出了一个题:给定一个数n,求一共有多少种相加的方案,相同的加数不同的顺序算不同方案。

例如3一共有四种方案。

小红觉得这问题有点简单,她给题目增加了一个限制,每个加数必须>=k,请你计算答案。

答案数字比较大,要对109+710^9+7求余。

输入输出格式

输入格式:

  • 一行两个数字n和k,确保k<=n

输出格式:

  • 一个数字,表示n拆分的方案数

输入输出样例

输入样例1:

3 1

输出样例1:

4

样例1说明:共有{1,1,1}, {1,2}, {2, 1}, {3}三种方案。

输入样例2:

6 2

输出样例2:

5

样例2说明:共有{2,2,2},{2,4},{3, 3}, {4, 2}, {6}四种方案。

输入样例4:

300 11

输出样例4:

85661368

测试点

测试点:10个测试点,每个测试点得10分。

测试限制:每个测试点时间限制1s,内存限制256M。

数据范围:

  • 30%:1<=n<=20
  • 60%:1<=n<=5000
  • 100%:1<=n<=2×1052\times10^5
  • 所有数据的1<=k<=n