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 个供顾客等待时使用的座位。顾客到达银行时,若有空座位,则到取号机上领取一个号,等待叫号。取号机每次仅允许一位顾客使用。当营业员空闲时,通过叫号选取一位顾
|
供应链 搜索推荐 前端开发
走进独自开,带你轻松干副业
独自开信息科技(上海)有限公司是一个拥有独立研发实力的技术团队。 独自开秉承独立、自由、开放的团队价值观,坚守长期主义,始终聚焦商品与服务交易的全流程,建设一个独立、自由、开源的PaaS平台。 独自开是一个基于商品与服务交易全流程的PaaS开发平台。 可以协助开发者独自开发一套系统。
263 0
|
Web App开发 前端开发 JavaScript
冬奥快结束了还没有抢到冰墩墩?程序员一招让你不用排队不用愁!
随着“2022北京冬奥会”的盛大开幕,冰墩墩的热度与日俱增,线上被抢空,线下排长龙,为购买冰墩墩苦恼的竟少了几根秀发!如今冬奥马上就要拉下帷幕,还没抢到“冰墩墩”不要紧,这款程序来帮忙,国内一位程序员dragonir用前端+建模的方式自己就实现了线上拥有“冰墩墩”,同时将代码开源到了GitHub上,不得不感叹科技的力量,程序员的伟大,让拥有“冰墩墩”变得如此简单!
冬奥快结束了还没有抢到冰墩墩?程序员一招让你不用排队不用愁!
|
云计算
电影院开了,你最想去看哪一部电影呢?
我在时间尽头等你、唐人街探案3、第一次的离别、哪吒重生、花木兰、姜子牙、急先锋......你最想看哪个?
电影院开了,你最想去看哪一部电影呢?
这辆车,阿里云要一直开
这个庞大的“隐形人”群体,叫卡车司机,中国最后的“江湖客”。
3934 0
|
数据安全/隐私保护
[转] 个人开公司的流程,以后用得着
一、选择公司的形式:普通的有限责任公司,最低注册资金3万元,需要2个(或以上)股东,从06年1月起新的公司法规定,允许1个股东注册有限责任公司,这种特殊的有限责任公司又称“一人有限公司”(但公司名称中不会有“一人”字样,执照上会注明“自然人独资”),最低注册资金10万元。
1717 0
|
程序员
一辈子交186万五险一金!退休你能拿回多少?算完惊呆……
不知道大家有没有算过,从毕业工作一直到退休,每个月缴纳的五险一金和个税,加起来一共有多少钱? 小编帮你算了一下,貌似可以整套房了…… 那你退休几年后能回本呢? 按2017年上海职工平均工资(6504元)来计算每月缴纳的五险一金和个税如下 im...
1200 0

热门文章

最新文章

下一篇
开通oss服务