Advertisement

03: 开餐馆:程序设计与算法基础(MOOC)期末作业第三题

阅读量:

问题描述:
北京大学信息科学技术学院的一名学生小明在完成学业后计划创办一家餐馆。目前共有n个潜在的选址可供考虑。小明希望从中挑选出若干个合适的地点开设餐馆。这n个地点位于同一条直线上,我们使用一个整数序列m1, m2, ..., mn来表示它们的相对位置。由于地段不同,各处开设餐馆所获得的利润也存在差异,用pi表示在mi位置开设餐馆所能获取的利润。为了避免内部竞争,小明要求所选餐馆之间的距离必须超过k。请协助小明设计一个总利润最大的选址方案。

输入

标准输入包含多组测试数据。输入的第一行是一个整数T(1 <= T <= 1000),用于表示测试数据的组数。随后依次给出T组连续的测试数据。每组测试数据包含三行:
第一行:地点总数n(n < 100)以及距离限制k(k > 0且k < 1000)。
第二行:n个地点的具体坐标m1, m2, ..., mn(满足条件1000000 > mi > 0且为整数,并按升序排列)。
第三行:n个地点对应的餐馆利润p1, p2, ..., pn(满足条件1000 > pi > 0且为整数)。

输出

对于每组测试数据,请输出能够实现的最大利润值。

样例输入

复制代码
 2

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

全部评论 (0)

还没有任何评论哟~