#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。