题目描述:

学校里有一个水房,水房里一共装有 m 个龙头可供同学们打开水,每个龙头每秒钟的供水量相等,均为 1。

现在有 n 名同学准备接水,他们的初始接水顺序已经确定。将这些同学按接水顺序从 1 到 n 编号,i号同学的接水量为 wi。接水开始时,1 到 m 号同学各占一个水龙头,并同时打开水龙头接水。当其中某名同学 j 完成其接水量要求 wj后,下一名排队等候接水的同学 k 马上接替 j 同学的位置开始接水。这个换人的过程是瞬间完成的,且没有任何水的浪费。即 j 同学第 x 秒结束时完成接水,则 k 同学第 x+1 秒立刻开始接水。 若当前接水人数 n’不足 m,则只有 n’个龙头供水,其它 m-n’个龙头关闭。

现在给出 n 名同学的接水量,按照上述接水规则,问所有同学都接完水需要多少秒。

输入格式:

第 1 行2 个整数 n 和 m,用一个空格隔开,分别表示接水人数和龙头个数。
第 2 行 n 个整数 w1、w2、……、wn,每两个整数之间用一个空格隔开,wi表示 i 号同学的接水量。

1 ≤ n ≤ 10000,1 ≤ m ≤ 100 且 m ≤ n;
1 ≤ wi ≤ 100。

输出格式:

输出只有一行,1 个整数,表示接水所需的总时间。

样例输入:

样例 #1:
5 3
4 4 1 2 1样例 #2:
8 4
23 71 87 32 70 93 80 76

样例输出:

样例 #1:
4样例 #2:
163

提示:

输入输出样例1解释:
第 1 秒,3 人接水。第 1秒结束时,1、2、3 号同学每人的已接水量为 1,3 号同学接完水,4 号同学接替 3 号同学开始接水。
第 2 秒,3 人接水。第 2 秒结束时,1、2 号同学每人的已接水量为 2,4 号同学的已接水量为 1。
第 3 秒,3 人接水。第 3 秒结束时,1、2 号同学每人的已接水量为 3,4 号同学的已接水量为 2。4号同学接完水,5 号同学接替 4 号同学开始接水。
第 4 秒,3 人接水。第 4 秒结束时,1、2 号同学每人的已接水量为 4,5 号同学的已接水量为 1。1、2、5 号同学接完水,即所有人完成接水。
总接水时间为 4 秒。

时间限制: 1000ms
空间限制: 128MB

代码如下:

#include<bits/stdc++.h>
using namespace std;
int main(){int n,m,a[10001]={},s=0,b[10001]={};cin>>n>>m;for(int i=0;i<n;i++){cin>>a[i];}for(int i=0;i<m;i++){b[i]=a[i];}for(int i=m;i<n;i++){sort(b,b+m);b[0]+=a[i];}sort(b,b+m);cout<<b[m-1];return 0;
} 

接水问题(贪心算法)相关推荐

  1. P1223 排队接水(贪心算法)

    题目描述 有 nn 个人在一个水龙头前排队接水,假如每个人接水的时间为 T_iTi​,请编程找出这 nn 个人排队的一种顺序,使得 nn 个人的平均等待时间最小. 输入格式 第一行为一个整数 nn. ...

  2. 排队接水(贪心算法)

    题目描述 有 nn 个人在一个水龙头前排队接水,假如每个人接水的时间为 T_iTi​,请编程找出这 nn 个人排队的一种顺序,使得 nn 个人的平均等待时间最小. 输入格式 第一行为一个整数 nn. ...

  3. 信息学奥赛第九节 —— 贪心算法(需要安排几位师傅加工零件 + 排队打水问题)

    贪心算法的特点 对于问题求解时,总是做出在当前来看是最好的选择的策略,即贪心算法不从整体来考虑问题.贪心算法与排序.高精度.背包等算法不同,没有一个特定的模板来表达贪心算法的过程. 贪心的步骤 抽象出 ...

  4. Suzy想吃烤蛋挞了Day35 | 贪心算法进行时:860. 柠檬水找零,406. 根据身高重建队列,452. 用最少数量的箭引爆气球

    860. 柠檬水找零 solution 不要漏掉的一种情况是:如果收到了20,可以找10+5,或者5+5+5 class Solution:def lemonadeChange(self, bills ...

  5. 贪心算法之柠檬水java

    贪心算法的基本思想: 贪心算法是指在对问题求解时,总是做出在当前看来是最好的选择.也就是说,不从整体最优上加以考虑,它所做出的仅是在某种意义上的局部最优解.用局部解构造全局解,即从问题的某一个初始解逐 ...

  6. 贪心算法:860.柠檬水找零

    题目描述: 在柠檬水摊上,每一杯柠檬水的售价为 5 美元.顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯. 每位顾客只买一杯柠檬水,然后向你付 5 美元.10 美元或 20 美元 ...

  7. [2018.04.17][水][日志][6][#171~#181][贪心算法][已经丧心病狂][背景-amp;amp;amp;amp;gt;][最虚伪的算法]

    [背景]     在某日和某大佬们一起举行的ACM上,我们小队面对一道多重背包题跪了...凉凉(可喜的是我AC了C,G两题).     在面对大佬们的D题上,我们使用了,啊不,第一次使用了贪心算法,奇 ...

  8. c语言贪心算法合并箭,LeetCode刷题题库:贪心算法

    LeetCode刷题笔记:贪心算法 自大学开始,我便陆陆续续的学习一些 算法和数据结构 方面的内容,同时也开始在一些平台刷题,也会参加一些大大小小的算法竞赛.但是平时刷题缺少目的性.系统性,最终导致算 ...

  9. leetcode贪心算法题集锦(持续更新中)

    leetcode贪心算法题集锦 leetcode贪心算法题集锦(持续更新中).python 和C++编写. 文章目录 leetcode贪心算法题集锦 一.贪心算法 1.盛最多水的容器 2.买股票的最佳 ...

  10. 17行代码AC_51Nod - 2133 排队接水(贪心)

    励志用少的代码做高效表达 贪心算法模板题 贪心算法简单来讲即自顶向下,求解出每个子最优解,且每个子问题不会对下一个问题产生影响 题意:n个人排队接水,问如何排序才能使总等待时间最短,(正在接水的人和没 ...

最新文章

  1. 【问链-EOS公开课】第十二课 EOS整体代码结构
  2. SpringBoot 上传限制
  3. 生成5个不同的随机数
  4. arduino彩灯计时器电路_蓝牙彩灯再升级(加音乐播放功能)
  5. java获取一个目录下所有字谜_Java 猜字谜游戏 - osc_4jkldo6l的个人空间 - OSCHINA - 中文开源技术交流社区...
  6. 安装VS2010时出现进入的图标没有与需要部分升级VS10Sp1-KB983509的解决方案
  7. 如何在 Mac 上自定 Safari 浏览器窗口?
  8. 算法设计——五大算法总结
  9. Linux操作系统基础原理
  10. flash cs4 无法调试
  11. 大数据、数据挖掘和机器学习,带了哪些业务价值?
  12. 国产ChatGPT命名图鉴
  13. STM32基础11--模数转换(ADC)
  14. SimSwap 高保真人脸交换的高效框架 以及 deepfake辨别图片或者视频真假 dalle-mini文字生成图片
  15. matlab中接地的符号怎么打,接地符号图形_接地符号字母_接地符号画法
  16. 7种深度学习工具介绍
  17. 在“北上广深杭”做Java开发如何月薪达到2w,需要技术水平达到什么程度?
  18. (ICLR-2022)关于局部注意力和动态深度卷积之间的联系
  19. mysql批量修改替换织梦后台 文章内容 dede_addonarticle 违禁词 如不过全退等违反广告法字眼
  20. 种子计量系统市场现状及未来发展趋势

热门文章

  1. 修改金山迷你背单词的TTS发声引擎
  2. 基础爬虫——以豆丁网《编译原理》(清华大学出版社第二版)课后习题答案为例
  3. 修复键盘单个键位失灵
  4. 快上车!通用自主开发无人驾驶汽车首次公开试驾 | 精选
  5. 差分进化算法之Matlab实现
  6. 基础算法与数据结构——页面置换算法
  7. ASP.NET WebForm--简介
  8. 4075 染色(并查集)
  9. 天猫复购预测训练赛技术报告
  10. Vue 调用PC摄像头拍照