#P1259. 【挑战题】开采钻石

【挑战题】开采钻石

题目描述

乌拉乎喜欢亮晶晶的东西,比如钻石,有一天他梦到自己在开采钻石,并且已经收集了n颗不同大小的钻石,乌拉乎想要在他的书架上摆满钻石。 乌拉乎的书架共有两层,为了美观,乌拉乎不会吧两颗大小相差k以上的钻石放到书架的同一层,请你帮助乌拉乎编程计算他最多可以在书架(共两层)上摆放多少颗钻石。

输入格式

第 1 行,包含两个整数 n 和 k,分别表示钻石的总数和相差的 k 值; 第 2 行,包含 n 个 a[1],a[2],...... a[n],分别表示 n 颗钻石的大小。

输出格式

1 行,一个整数,为乌拉乎最多能摆放的钻石数量。

样例1

7 2
1 2 3 4 5 6 7
6

样例2

7 3
10 5 1 12 9 5 14
5

样例2解释:

一层摆放5,5,另一层摆放 9,10,12

数据范围

1 ≤ n ≤ 50000; 0 ≤ k ≤ 10⁹; 1 ≤ a[i] ≤ 10⁹。