#759. 四级宝箱

四级宝箱

四级宝箱

故事背景

考古队在遗迹中找到一批宝箱,价值从低到高差异很大。运输车的减震装置有“耐差”上限:若同一批次货物的最高价值为 x、最低价值为 y,必须满足 x−y < k,否则路上震动会损坏宝箱。你需要规划一批价值尽可能高、且小于耐差的装车方案。

题目描述

给定一个长度为 n 的整数数组 a 和一个整数 k,你可以从中选择任意数量的宝箱放入背包,但需满足所选宝箱的最大值与最小值之差小于k。请问在背包不损坏的情况下,能带走的宝箱总价值最大是多少。

输入格式

第一行包含两个整数 n、k。 第二行包含 n 个整数,表示数组 a 的元素。

输出格式

输出一个整数,表示满足条件的最大总价值。

输入输出样例 #1

输入 #1

7 3
5 1 4 6 2 8 3

输出 #1

15

样例解释 #1

选择价值为 5、4、6 的三个宝箱,最大值 6、最小值 4,差为 2 < k,总价值 15,为最优方案。

说明/提示

  • 数据范围:1 ≤ n ≤ 2×10^5,|a_i| ≤ 10^9,0 ≤ k ≤ 10^9。