刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!
简答题
1.火中取栗
据法国诗人拉·封丹的寓言《猴子与猫》里说,猴子骗猫取火中的栗子,结果取出后被猴子吃了,猫却因此被烧掉了爪上的毛。
现在我们有 n 只炉子,每只炉子里烤着一些栗子。假设笨猫每次伸爪最多能从一只炉子里抓出 k 颗栗子,但会被烧掉 1 撮毛。问笨猫抓出所有的栗子最少要被烧掉多少撮毛?
时间限制:1000
内存限制:65536
输入
输入在第一行中给出 2 个正整数 n(≤ 100000)和 k(≤ 10),含义如题面所述。数字间以空格分隔。 随后一行给出 n 个不超过 1000 的正整数,其中第 i 个数字表示第 i 只炉子里烤的栗子的数量。
输出
在一行中输出笨猫抓出所有的栗子最少要被烧掉多少撮毛。
样例输入
5 2
3 4 8 1 15
样例输出
17
据法国诗人拉·封丹的寓言《猴子与猫》里说,猴子骗猫取火中的栗子,结果取出后被猴子吃了,猫却因此被烧掉了爪上的毛。
现在我们有 n 只炉子,每只炉子里烤着一些栗子。假设笨猫每次伸爪最多能从一只炉子里抓出 k 颗栗子,但会被烧掉 1 撮毛。问笨猫抓出所有的栗子最少要被烧掉多少撮毛?
时间限制:1000
内存限制:65536
输入
输入在第一行中给出 2 个正整数 n(≤ 100000)和 k(≤ 10),含义如题面所述。数字间以空格分隔。 随后一行给出 n 个不超过 1000 的正整数,其中第 i 个数字表示第 i 只炉子里烤的栗子的数量。
输出
在一行中输出笨猫抓出所有的栗子最少要被烧掉多少撮毛。
样例输入
5 2
3 4 8 1 15
样例输出
17
使用微信搜索喵呜刷题,轻松应对考试!
答案:
解析:
假设炉子的数量为 n,每次最多能取出的栗子数量为 k,第 i 个炉子的栗子数量为 a[i]。
- 读入 n 和 k 的值。
- 读入每个炉子的栗子数量 a[i],并对它们进行排序。
- 初始化被烧掉的撮毛数量 sum 为 0。
- 从最大的 a[i] 开始,取出 k 个栗子,被烧掉的撮毛数量为 k,将 sum 加上 k。
- 移动到下一个 a[i],重复步骤 4,直到所有的栗子都被取出。
- 输出 sum,即为笨猫抓出所有的栗子最少要被烧掉多少撮毛。
根据题目给定的样例输入,炉子的数量为 5,每次最多能取出 2 个栗子,炉子的栗子数量分别为 3、4、8、1、15。我们对炉子的栗子数量进行排序,得到 15、8、4、3、1。从 15 开始取,取 2 个栗子,被烧掉 2 撮毛,剩余 13 个栗子;从 8 开始取,取 2 个栗子,被烧掉 2 撮毛,剩余 6 个栗子;从 4 开始取,取 2 个栗子,被烧掉 2 撮毛,剩余 2 个栗子;从 3 开始取,取 1 个栗子,被烧掉 1 撮毛;从 1 开始取,不需要再被烧毛。总共被烧掉的撮毛数量为 2+2+2+1=7。因此,笨猫抓出所有的栗子最少要被烧掉 7 撮毛。
创作类型:
原创
本文链接:1.火中取栗据法国诗人拉·封丹的寓言《猴子与猫》里说,猴子骗猫取火中的栗子,结果取出后被猴子吃了,猫
版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!



