#HX3202. 最长不下降子序列题九:开餐馆

提交2 通过1
通过率50%
时间限制2000ms
内存限制256MiB

题目描述

题目描述

小珅想开家餐馆,现在共有 n 个地点可供选择。小珅打算从中选择合适的位置开设一些餐馆。

这 n 个地点排列在同一条直线上。我们用一个整数序列 m1, m2, …, mn 来表示他们的相对位置。

由于地段关系,开餐馆的利润会有所不同。我们用 pi 表示在 mi 处开餐馆的利润。

为了避免自己的餐馆的内部竞争,餐馆之间的距离必须大于 k。

请你帮助小珅选择一个总利润最大的方案。

输入格式

输入第一行是整数 T(1 ≤ T ≤ 1000),表明有 T 组测试数据。紧接着有 T 组连续的测试数据。每组测试数据有 3 行:

第 1 行:地点总数 n(n < 100),距离限制 k(0 < k < 1000);

第 2 行:n 个地点的位置 m1, m2, …, mn(0 < mi < 1000000 且为整数,升序排列);

第 3 行:n 个地点的餐馆利润 p1, p2, …, pn(0 < pi < 1000 且为整数)。

输出格式

对于每组测试数据输出一行,表示可能的最大利润。

输入样例 #1

2
3 11
1 2 15
10 2 30
3 16
1 2 15
10 2 30

输出样例 #1

40
30

输入样例 #2

2
5 100
123 323 345 355 444
100 30 130 189 200
6 20
22 44 55 77 88 99
22 44 55 77 88 99

输出样例 #2

330
253

输入样例 #3

1
2 1
348 491
901 725

输出样例 #3

1626

数据范围与约定

1 ≤ T ≤ 1000;n < 100;0 < k < 1000;0 < mi < 1000000,mi 为整数且升序排列;0 < pi < 1000,pi 为整数。