1296:开餐馆

简介: 1296:开餐馆

时间限制: 1000 ms         内存限制: 65536 KB

【题目描述】

信息学院的同学小明毕业之后打算创业开餐馆.现在共有n个地点可供选择。小明打算从中选择合适的位置开设一些餐馆。这 n个地点排列在同一条直线上。我们用一个整数序列m1,m2,...mn来表示他们的相对位置。由于地段关系,开餐馆的利润会有所不同。我们用pi 表示在mi处开餐馆的利润。为了避免自己的餐馆的内部竞争,餐馆之间的距离必须大于k。请你帮助小明选择一个总利润最大的方案。

【输入】

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

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

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

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

【输出】

对于每组测试数据可能的最大利润。

【输入样例】

2

3 11

1 2 15

10 2 30

3 16

1 2 15

10 2 30

【输出样例】

40

30

1. #include <iostream>
2. #include <cstring>
3. #include <cstdio>
4. using namespace std;
5. int t,k,n,i,j,l,tot[1001];
6. int main(int argc, char *argv[])
7. {
8.  scanf("%d",&t);
9.  for(l=1;l<=t;l++){
10.     int m[101],f[101],p[101];
11.     memset(f,0,sizeof(f));
12.     scanf("%d%d",&n,&k);
13.     for(i=1;i<=n;i++)
14.       scanf("%d",&m[i]);
15.     for(i=1;i<=n;i++)
16.       scanf("%d",&p[i]);
17.     f[1]=p[1];//初始开第一家餐馆的利润为p[1] 
18.     for(i=2;i<=n;i++)
19.       for(j=0;j<i;j++)
20.         if((m[i]-m[j]>k)||(!j))//距离大于k或j=0时比较只开第i家餐馆的利益 
21.           f[i]=max(f[i-1],f[j]+p[i]);//利润最大 
22.     tot[l]=f[n];  
23.   }
24.   for(l=1;l<=t;l++) printf("%d\n",tot[l]);
25.   return 0;
26. }


相关文章
考研真题)某银行提供了 1 个服务窗口和 10 个供顾客等待时使用的座位。顾客到达银行时,若有空座位,则到取号机上领取一个号,等待叫号。取号机每次仅允许一位顾客使用。当营业员空闲时,通过叫号选取一位顾
考研真题)某银行提供了 1 个服务窗口和 10 个供顾客等待时使用的座位。顾客到达银行时,若有空座位,则到取号机上领取一个号,等待叫号。取号机每次仅允许一位顾客使用。当营业员空闲时,通过叫号选取一位顾
|
数据格式
教你一招,瞬间制作无数个座位牌!
先作好心理准备,真的很简单,不要有心理负担,请跟着我的步骤动手操作起来。
257 0
|
缓存 测试技术
[蓝桥杯 2019 省 A] 外卖店优先级
[蓝桥杯 2019 省 A] 外卖店优先级
101 0
|
开发框架 移动开发 JavaScript
来接私活吧?小程序接私活必备功能-婚恋交友【附完整代码】
来接私活吧?小程序接私活必备功能-婚恋交友【附完整代码】
275 0
来接私活吧?小程序接私活必备功能-婚恋交友【附完整代码】
程序人生 - 座位险和驾乘险有什么区别,买了后者还需要前者吗?
程序人生 - 座位险和驾乘险有什么区别,买了后者还需要前者吗?
456 0
|
云计算
电影院开了,你最想去看哪一部电影呢?
我在时间尽头等你、唐人街探案3、第一次的离别、哪吒重生、花木兰、姜子牙、急先锋......你最想看哪个?
电影院开了,你最想去看哪一部电影呢?
这辆车,阿里云要一直开
这个庞大的“隐形人”群体,叫卡车司机,中国最后的“江湖客”。
3926 0
开一家披萨店需要多少钱,都要什么设备?【Lucy比萨】
披萨烤箱: 比萨烤箱分为:层炉,窑炉,链炉。 层炉: 这种烤炉最为常见,市面上大部分的披萨店就是用的这种烤炉。这种烤炉用的上下火加温的方式, 烤的时间长,受热不均匀,需要不断的拿出来翻了再翻,费时费力。
1940 0