codevs1127
学校里有一个水房,水房里一共装有m 个龙头可供同学们打开水,每个龙头每秒钟的供水量相等,均为1。
现在有n 名同学准备接水,他们的初始接水顺序已经确定。将这些同学按接水顺序从1到n 编号,i 号同学的接水量为wi。接水开始时,1 到m 号同学各占一个水龙头,并同时打开水龙头接水。当其中某名同学j 完成其接水量要求wj 后,下一名排队等候接水的同学k马上接替j 同学的位置开始接水。这个换人的过程是瞬间完成的,且没有任何水的浪费。即j 同学第x 秒结束时完成接水,则k 同学第x+1 秒立刻开始接水。若当前接水人数n’不足m,则只有n’个龙头供水,其它m−n’个龙头关闭。
现在给出n 名同学的接水量,按照上述接水规则,问所有同学都接完水需要多少秒。
输入描述
Input Description
第1 行2 个整数n 和m,用一个空格隔开,分别表示接水人数和龙头个数。 第2 行n 个整数w1、w2、……、wn,每两个整数之间用一个空格隔开,wi 表示i 号同 学的接水量。
输出描述
Output Description
输出只有一行,1 个整数,表示接水所需的总时间。
样例输入
Sample Input
5 3 4 4 1 2 1
样例输出
Sample Output
4
#include<iostream>
#include<cstring>
#include<cstdio>
#include<cmath>
#define inf 0x1f1f1f1f
using namespace std;
int an[110];
int bn[11000];
int main()
{
int n,m;
cin>>n>>m;
memset(bn,0,sizeof(bn));
int i,j,k,ans = 0;
for(i = 1;i<=n;i++)
scanf("%d",&bn[i]);
for(i = 1;i<=m;i++)
an[i] = bn[i];
j = m;
int mi,mx;
do
{
mi = inf;
mx = 0;
for(i = 1;i<=m;i++)
{
if(an[i]<mi&&an[i]!=0) mi = an[i];
if(an[i]>mx) mx = an[i];
}
if(mi!=inf) ans+=mi;
for(i = 1;i<=m;i++)
{
if(an[i]!=0)an[i] -= mi;
if(an[i] == 0&&j<n) an[i] = bn[++j];
}
}while(mx!=0);
cout<<ans<<endl;
return 0;
}
codevs1127的更多相关文章
- codevs1127 接水问题
题目描述 Description 学校里有一个水房,水房里一共装有m 个龙头可供同学们打开水,每个龙头每秒钟的供水量相等,均为1. 现在有n 名同学准备接水,他们的初始接水顺序已经确定.将这些同学按接 ...
随机推荐
- VisualStudio.DTE 对象可以通过检索 GetService() 方法
DTE dte = (DTE)GetService(typeof(DTE)); string solutionDir = System.IO.Path.GetDirectoryName(dte.Sol ...
- 在IIS上Office Word下载失败,检索 COM 类工厂中 CLSID 为000209FF的组件失败,80070005 拒绝访问。
最近在做一个网站时,有一个下载word文档功能,在本地直接调试是可以下载的,但部署到IIS上就出现问题了. 出现问题如下:Error:下载简历方法出错:检索 COM 类工厂中 CLSID 为 {000 ...
- CAShapeLayer + UIBezierPath
UIBezierPath: UIBezierPath是在 UIKit 中的一个类,继承于NSObject,可以创建基于矢量的路径.使用此类可以定义常见的圆形.多边形等形状 .我们使用直线.弧(arc) ...
- iOS开发之UIApplication
UIApplication的核心作用是提供了iOS程序运行期间的控制和协作工作. iPhone应用程序是由主函数main启动,它负责调用UIApplicationMain函数,该函数的形式如下所示: ...
- GPS数据处理 - 字符串函数的灵活应用
题目内容: NMEA- 0183协议是为了在不同的GPS(全球定位系统)导航设备中建立统一的BTCM(海事无线电技术委员会)标准,由美国国家海洋电子协会(NMEA- The National Mari ...
- JS delete 用法(删除对象属性及变量)
1,对象属性删除 function fun(){ this.name = 'mm'; } var obj = new fun(); console.log(obj.name);//mm delete ...
- Cannot initialise keyboard run ./nano-X
其中之一解决方案为: ./xinit
- Django学习(四) Django提供的后台管理系统以及如何定义URL路由
一旦你建立了模型Models,那么Django就可以为你创建一个专业的,可以提供给生成用的后台管理站点.这个站点可以提供给有权限的人进行已有模型Models数据的增删改查. 将新建的模型Models是 ...
- safari的input问题
切图网用户体验团队QUX在手机移动触屏web前端开发中碰到一个问题 — 纯css3定义的按钮在android安卓系统下显示正常,但是在苹果ios系统下,以ipad为例,ipad下呈现渐变和圆角状态 . ...
- 关于Thread的Runnable和Callable接口
其实非常简单:其实他们的区别就是Callable有返回值并且可以抛出异常. /** * Represents a command that can be executed. Often used to ...