Processing math: 100%
编程题
                ### 问题描述

阿霖是一位将军,他拥有很多位手下,对于第 i 个手下都有一个能力值 ai。一天,阿霖要去打仗了,他要从他的手下里面组一支队伍出来,他需要从手下中以任意顺序选择若干个组成一支合理的队伍,一支合理的队伍需要满足以下条件:

  • 队伍队员能力值非递减的。
  • 对于任意两个相邻的队员,他们的能力值之差不超过 x

请问阿霖一共有几种不同的合理组队方法,结果对 109+7 取模。

如果两种方法士兵的选择以及排列不同,则认为这两种方法不同。

输入格式

第一行两个整数 n,x,表示手下的数量以及最大能力值之差。

第二行 n 个整数数,第 i 个整数表示第 i 个手下的观赏值 ai

数据范围保证:1n1051x,ai109

输出格式

输出一个整数,表示合理组队方法的数量,结果对 109+7 取模。

样例输入 1

4 1
1 2 3 4

样例输出 1

16

样例输入 2

3 1
4 5 5

样例输出 2

10

样例说明

样例 1 中合法队伍有 [],[1],[2],[3],[4],[1,2],[2,3],[3,4],[1,2,3],[2,3,4],[1,2,3,4]

样例 2 中合法队伍有 [],[1],[2],[3],[1,2],[1,3],[1,2,3],[2,3],[1,3,2],[3,2]

查看答案
赣ICP备20007335号-2