#P76. [KSC005C] 子序列

[KSC005C] 子序列

版权声明

本题版权归 Long Long OJ 所有。

题目描述

给定一个长度为 nn 的序列 a1,a2,,ana_1,a_2,\cdots,a_n。寻找满足以下条件的 aa 的子序列 bb 的最长长度:

  • bb 中最大值与 bb 中最小值的差小于等于给定的整数 kk

提示:序列 aa 的子序列指删除 aa 中若干个元素(可能是 00 个) 后重新把剩下的元素按原来的顺序排列得到的序列。一个序列有多个子序列。

输入格式

  • 第一行:两个正整数 n,kn,k
  • 第二行:nn 个整数,第 ii 个是 aia_i

输出格式

一行一个正整数,表示答案。

样例

5 12
60 10 33 46 21
2

选出的最长子序列是 [10,21][10,21][21,33][21,33],长度都为 22

5 100
18 -14 -114 19 -81
4

选出的最长子序列是 [18,14,19,81][18,-14,19,-81],长度为 44。此外,aia_i 可能是负数。

数据范围

  • 对于 10%10\% 的数据,1n,ai101\leq n,a_i \leq 10
  • 对于 20%20\% 的数据,1n201\leq n\leq 20
  • 对于 55%55\% 的数据,1n50001\leq n\leq 5000
  • 对于另外 5%5\% 的数据,1ai1\leq a_i
  • 对于 100%100\% 的数据,1n2×1051\leq n\leq 2\times 10^5109ai109-10^9 \leq a_i \leq 10^9