#2117. 光滑子序列

光滑子序列

题面描述

给定长度为序列 aa 和阈值 DD

我们称一个序列 ss 是「光滑序列」,当且仅当其相邻两项之差的绝对值都不超过 DD。换言之,即 $\forall i \in [1, n) \cap \mathbb{Z}, |s_i - s_{i +1}| \le D$。

你要做的是求序列 aa 的最长「光滑子序列」。

注意: 子序列可以不连续。

输入格式

输入以下面格式给出:

N N D D

A1 A_1 A2 A_2 \ldots AN A_N

输出格式

输出一行其中包含一个整数,表示答案。

样例 #1

样例输入 #1

4 2
3 5 1 2

样例输出 #1

3

样例 #2

样例输入 #2

5 10
10 20 100 110 120

样例输出 #2

3

样例 #3

样例输入 #3

11 7
21 10 3 19 28 12 11 3 3 15 16

样例输出 #3

6

提示

数据规模与约定

  • 对于 60%60\% 的数据,满足 1  N  1 × 103 1\ \leq\ N\ \leq\ 1\ \times\ 10^3 , 0  D  1 × 103 0\ \leq\ D\ \leq\ 1\ \times\ 10^3 , 1  Ai  1 × 103 1\ \leq\ A_i\ \leq\ 1\ \times\ 10^3

  • 对于 100%100\% 的数据,满足 1  N  5 × 105 1\ \leq\ N\ \leq\ 5\ \times\ 10^5 , 0  D  5 × 105 0\ \leq\ D\ \leq\ 5\ \times\ 10^5 , 1  Ai  5 × 105 1\ \leq\ A_i\ \leq\ 5\ \times\ 10^5

Sample Explanation 1

A A 的一个子序列 (3, 1, 2) (3,\ 1,\ 2) 相邻 2 2 项的差的绝对值小于 2 2 ,可以证明没有更长的符合条件的子序列。