YLT C++ 4级 2022.12
N5469 [CIE 202212 四级 T1] 开餐馆
题目描述
北大信息学院的同学小明毕业之后打算创业开餐馆.现在共有 个地点可供选择。小明打算从中选择合适的位置开设一些餐馆。这 个地点排列在同一条直线上。我们用一个整数序列 来表示他们的相对位置。由于地段关系,开餐馆的利润会有所不同。我们用 表示在 处开餐馆的利润。为了避免自己的餐馆的内部竞争,餐馆之间的距离必须大于 。请你帮助小明选择一个总利润最大的方案。
输入格式
标准的输入包含若干组测试数据。输入第一行是整数 ,表明有 组测试数据。紧接着有 组连续的测试。每组测试数据有 行, 第 行:地点总数 && 且为整数,升序排列) 第 行: 个地点的餐馆利润 ( 且为整数)
输出格式
对于每组测试数据可能的最大利润
样例
样例 1
输入:
2
3 11
1 2 15
10 2 30
3 16
1 2 15
10 2 30
输出:
40
30
提示
无
N5470 [CIE 202212 四级 T2] 糖果
题目描述
由于在维护世界和平的事务中做出巨大贡献, 被赠予糖果公司 年 月 日当天无限量糖果免费优惠券。在这一天, 可以从糖果公司的 件产品中任意选择若干件带回家享用。糖果公司的 件产品每件都包含数量不同的糖果。 希望他选择的产品包含的糖果总数是 的整数倍,这样他才能平均地将糖果分给帮助他维护世界和平的伙伴们。当然,在满足这一条件的基础上,糖果总数越多越好。 最多能带走多少糖果呢? 注意: 只能将糖果公司的产品整件带走。
输入格式
第一行包含两个整数 和 以下 行每行 个整数,表示糖果公司该件产品中包含的糖果数目,不超过
输出格式
符合要求的最多能达到的糖果总数,如果不能达到 的倍数这一要求,输出
样例
样例 1
输入:
5 7
1
2
3
4
5
输出:
14
提示
的选择是 ,这样糖果总数是 的倍数,并且是总数最多的选择。
N5471 [CIE 202212 四级 T3] 鸡蛋的硬度
题目描述
最近 公司举办了一个奇怪的比赛:鸡蛋硬度之王争霸赛。参赛者是来自世界各地的母鸡,比赛的内容是看谁下的蛋最硬,更奇怪的是 公司并不使用什么精密仪器来测量蛋的硬度,他们采用了一种最老土的办法--从高度扔鸡蛋--来测试鸡蛋的硬度,如果一次母鸡下的蛋从高楼的第 层摔下来没摔破,但是从 层摔下来时摔破了,那么就说这只母鸡的鸡蛋的硬度是 。你当然可以找出各种 理由说明这种方法不科学,比如同一只母鸡下的蛋硬度可能不一样等等,但是这不影响 公司的争霸赛,因为他们只是为了吸引大家的眼球,一个个鸡蛋从 层的高楼上掉下来的时候,这情景还是能吸引很多人驻足观看的,当然, 公司也绝不会忘记在高楼上挂一条幅,写上“公司”的字样--这比赛不过是 公司的一个另类广告而已。
勤于思考的小 总是能从一件事情中发现一个数学问题,这件事也不例外。“假如有很多同样硬度的鸡蛋,那么我可以用二分的办法用最少的次数测出鸡蛋 的硬度”,小 对自己的这个结论感到很满意,不过很快麻烦来了,“但是,假如我的鸡蛋不够用呢,比如我只有 个鸡蛋,那么我就不得不从第 层楼开始一层一 层的扔,最坏情况下我要扔 次。如果有 个鸡蛋,那么就从 层楼开始的地方扔……等等,不对,好像应该从 的地方开始扔才对,嗯,好像也不一定 啊…… 个鸡蛋怎么办, 个, 个,更多呢……”,和往常一样,小 又陷入了一个思维僵局,与其说他是勤于思考,不如说他是喜欢自找麻烦。
好吧,既然麻烦来了,就得有人去解决,小 的麻烦就靠你来解决了:)
输入格式
输入包括多组数据,每组数据一行,包含两个正整数 和 ,其中 表示楼的高度, 表示你现在拥有的鸡蛋个数,这些鸡蛋硬度相同(即它们从同样高的地方掉下来要么都摔碎要么都不碎),并且小于等于 。你可以假定硬度为 的鸡蛋从高度小于等于 的地方摔无论如何都不会碎(没摔碎的鸡蛋可以继续使用),而只要从比 高的地方扔必然会碎。 对每组输入数据,你可以假定鸡蛋的硬度在 至 之间,即在 层扔鸡蛋一定会碎。
输出格式
对于每一组输入,输出一个整数,表示使用最优策略在最坏情况下所需要的扔鸡蛋次数
样例
样例 1
输入:
100 1
100 2
输出:
100
14
提示
最优策略指在最坏情况下所需要的扔鸡蛋次数最少的策略。 如果只有一个鸡蛋,你只能从第一层开始扔,在最坏的情况下,鸡蛋的硬度是 ,所以需要扔 次。如果采用其他策略,你可能无法测出鸡蛋的硬度(比如你第一次在第二层的地方扔,结果碎了,这时你不能确定硬度是 还是 ),即在最坏情况下你需要扔无限次,所以第一组数据的答案是 。
N5472 [CIE 202212 四级 T4] 山区建小学
题目描述
政府在某山区修建了一条道路,恰好穿越总共 个村庄的每个村庄一次,没有回路或交叉,任意两个村庄只能通过这条路来往。已知任意两个相邻的村庄之间的距离为 (为正整数),其中,。为了提高山区的文化素质,政府又决定从 个村中选择 个村建小学(设 )。请根据给定的 、 以及所有相邻村庄的距离,选择在哪些村庄建小学,才使得所有村到最近小学的距离总和最小,计算最小值。
输入格式
第 行为 和 ,其间用空格间隔 第 行为 个整数,依次表示从一端到另一端的相邻村庄的距离,整数之间以空格间隔。 例如 表示在 个村庄建 所学校。第 个村庄与第 个村庄距离为 ,第 个村庄与第 个村庄距离为 ,第 个村庄与第 个村庄距离为 ,...,第 个村庄到第 个村庄的距离为 。
输出格式
各村庄到最近学校的距离之和的最小值。
样例
样例 1
输入:
10 2
3 1 3 1 1 1 1 1 3
输出:
18
提示
无
