3423:最长合法序列

时间限制:2 S   /  内存限制:65536 KB
AC:51   /  Submit:147
问题描述

给定一个 非递减 的序列 [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] 也可以。

相关

2022蓝桥杯校内选拔赛


Copyright 2016 - 2024 XUJC ACM Team
闽ICP备2020022076号-1