问题描述 |
---|
给定一个 非递减 的序列 [a1,a2,...,an],你需要从中挑选出 m 个数字,组成一个新的序列 [b1,b2,...,bm]。 其中 b 序列需要满足:从第二项开始,每一项都至少比前一项多 k,即 b[i] >= b[i - 1] + k( 对于所有 i > 1 )。 你的任务是:使序列 b 尽可能的长,即输出 m 的最大值。 |
输入描述 |
输入的第一行包含两个正整数 n 和 k,表示序列 a 的长度和 k 的大小。 接下来一行输入 n 个正整数 ai,代表 a 序列里的数字。 对于 30% 的评测用例,1 ≤ n ≤ 100,1 ≤ k ≤ 100,0 < ai <1e3 。 对于 60% 的评测用例,1 ≤ n ≤ 1000,1 ≤ k ≤ 1000,0 < ai <1e5。 对于 100% 的评测用例,1 ≤ n ≤ 100000,1 ≤ k ≤ 100000,0 < ai <1e12。 |
输出描述 |
输出一个正整数,代表序列 b 的最大的长度( 即 m 的值 ),然后换行。 |
样例输入复制样例 |
5 4 1 3 5 7 11 |
样例输出 |
3 |
提示说明 |
我们可以选择 [1,5,11] 使 m 达到最大值 3。 当然,选择 [3,7,11] 也可以。 |
相关 |