测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A71426. 开餐馆

编程题 基础

题目描述

信息学院的同学小明毕业之后打算创业开餐馆,现在共有 n 个地点可供选择。

小明打算从中选择合适的位置开设一些餐馆。这 n 个地点排列在同一条直线上。

我们用一个整数序列 m_1,m_2, \dots ,m_n 来表示他们的相对位置。

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

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

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

输入格式

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

1 行:地点总数 n,距离限制 k

2 行: n 个整数,表示 n 个地点的位置 m_1,m_2, \dots ,m_n (按升序排列)。

3 行: n 个整数,表示 n 个地点的餐馆利润 p_1,p_2, \dots ,p_n

输出格式

输出共 T 行,每行输出一组测试数据可能的最大利润。

输入输出样例

输入 #1
2
3 11
1 2 15
10 2 30
3 16
1 2 15
10 2 30
输出 #1
40
30

说明/提示

【数据范围】

对于 100\% 的数据,满足 1 ≤ T ≤ 1000n < 1000 < k < 10000 < m_i < 10^60 < p_i < 1000