当前位置 :
【接水问题代码求注释学校里有一个水房,水房里一共装有m个龙头可供同学们打开水,每个龙头每秒钟的供水量相等,均为1.现在有n名同学准备接水,他们的初始接水顺序已经确定.将这些同】
更新时间: 2025-08-29 01:07:28
1人问答
问题描述:

接水问题代码求注释

学校里有一个水房,水房里一共装有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个整数,表示接水所需的总时间.

样例输入

53

44121

样例输出

4

样例输入

84

2371873270938076

样例输出

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秒.

源代码:

#include

#include

intmin(inta[],intn)

{

inti;

intmin=10000000;

inth;

for(i=0;i

高娜娜回答:
  整个程序的中心思想就是:计算所有水龙头放水时间最长的那个,即是所接水的总时间.   min函数就是在接水过程中,算出接水时间最短的那个水龙头,也就是在接水过程中,确定哪个水龙头下的人,先接完水.   for(i=0;i
最新更新
优秀其它推荐
保卡通(baokatong.com)汇总了汉语字典,新华字典,成语字典,组词,词语,在线查字典,中文字典,英汉字典,在线字典,康熙字典等等,是学生查询学习资料的好帮手,是老师教学的好助手。
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
Copyright©2009-2021 保卡通 baokatong.com 版权所有