接水问题(C++)

题意

校里有一个水房,水房里一共装有 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个整数 nm,用一个空格隔开,分别表示接水人数和龙头个数。 

2 n个整数 w1、w2、…、wn,每两个整数之间用一个空格隔开,wi表示i号同学的接水量。

输出格式

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

据范围

1≤n≤10000,

1≤m≤100,m≤n,

1≤wi≤100

入样例:

5 3

4 4 1 2 1

出样例:

4


提示:以下是本篇文章正文内容,下面案例可供参考

代码如下(示例):

#include <iostream>
#include <cstdlib>
using namespace std; 
int compare(const void* a, const void* b)
{  return (*(int*)b - *(int*)a); }  
int main(){int n,m;cin>>n>>m;int k[n];for(int i=0;i<n;i++){cin>>k[i];}qsort(k,n,sizeof(1),compare);if(n<=m){cout<<k[0]<<endl;return 0;}int kk[m]={0};//记录每个水龙头承担的任务 for(int i=0;i<m;i++){kk[i]+=k[i];}int ii=m-1;            //剩下的人在当前任务量最少的水龙头处排队int x=0;               //标记下标该走向,0表示回退,1表示前进 int max=kk[0];         //当前任务量最多的是0号水龙头 for(int i=m;i<n;i++){kk[ii]+=k[i];        //给当前任务量最少的水龙头增加任务 if(max<=kk[ii]){max=kk[ii];            //更新当前任务量最大的水龙头; if(x==0){ii--;if(ii==-1){x=1;ii=0;}}else{ii++;if(ii==m){x=0;ii=m-1;}}}}qsort(kk,m,sizeof(1),compare);cout<<kk[0]<<endl;
}


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/743926.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[C++]20.实现红黑树。

实现红黑树 一.基本概念&#xff1a;1.红黑树的概念&#xff1a;2.红黑树的性质&#xff1a; 二.实现红黑树&#xff1a;1.基本结构&#xff1a;2.插入节点的多种情况&#xff1a;1.叔叔存在且为红&#xff1a;2.叔叔不存在/存在且为黑(单旋变色)3.叔叔不存在/存在且为黑(多旋&…

C/C++中{}的用法总结(全)

C基础专栏&#xff1a;http://t.csdnimg.cn/UjhPR 目录 1.定义初始化列表&#xff08;Initializer List&#xff09; 2.类成员初始化列表 3.无默认构造函数的类的默认初始化&#xff08;C11 及以后版本&#xff09; 4.初始化器列表构造函数&#xff08;C11 及以后版本&…

计算机网络——分组延时、丢失和吞吐量

分组延迟是指从发送方发送数据包到接收方接收到数据包所经历的时间。 分组时延的四种类型&#xff1a; 传输时延、传播时延、排队时延、节点处理时延。 传输时延&#xff1a;传输时延是指分组从发送方到接收方所需的时间&#xff0c;取决于分组的长度和链路的传输速率。传输时…

centos配置nginx自动启动

查看是否存在相应的服务&#xff0c;如下&#xff0c;有nginx.service [rootnode142 ~]# systemctl list-unit-files |grep nginx nginx.service disabled 第一步&#xff1a;进入到/lib/systemd/system/目录 cd /lib/systemd/system 第二步&#xff1a;创建nginx.service文…

Docker学习之镜像管理(超详解析)

Docker镜像生命周期&#xff08;可以把docker镜像理解为虚拟机镜像&#xff09; 实验内容&#xff1a; 搜索官方仓库镜像 [rootlocalhost ~]# docker search busybox //以查找busybox为例 搜索说明&#xff1a;name镜像名称 description镜像说明 stars点赞数量 official…

四川宏博蓬达法律咨询有限公司:法律服务的行业翘楚

在当今社会&#xff0c;法律服务已经成为人们生活中不可或缺的一部分。随着法律意识的提高&#xff0c;选择一家专业、可靠的法律咨询公司显得尤为重要。四川宏博蓬达法律咨询有限公司&#xff0c;作为业内的佼佼者&#xff0c;以其卓越的服务质量和广泛的业务范围&#xff0c;…

Nacos 集群搭建

1 . 集群结构图 : 其中包括3个nacos结点&#xff0c;然后一个负载均衡器代理3个Nacos。这里负载均衡器可以使用nginx ; 我们计划的集群结构 : 三个nacos结点的地址 : 节点ipportnacos1192.168.150.18845nacos2192.168.150.18846nacos3192.168.150.18847 2 . 搭建集群 搭…

Unity_PUN2多人联机API汇总

PUN2多人联机API汇总 代码仅为函数区别和属性展示&#xff0c;并不针对指定功能 按照需要调用即可 服务器相关API和回调 #region 服务器相关public void 连接服务器(){PhotonNetwork.ConnectUsingSettings();PhotonNetwork.GameVersion "1";}public void 离开服务…

2024最新轻量应用服务器简介_轻量应用服务器购买指南

腾讯云轻量应用服务器开箱即用、运维简单的轻量级云服务器&#xff0c;CPU内存带宽配置高并且价格特别便宜&#xff0c;大带宽&#xff0c;但是限制月流量&#xff0c;轻量2核2G3M带宽61元一年、2核2G4M优惠价99元一年&#xff0c;540元三年、2核4G5M带宽165元一年&#xff0c;…

JAVA初阶数据结构(链表)练习(这些可以作为java包中的方法)

这里的每一个题大家都要仔细完成&#xff0c;这些题目每个我都至少思考了两个小时左右&#xff08;沉重心&#xff0c;慢慢来&#xff09; 1.反向链表的实现&#xff08;对链表进行翻转&#xff09;&#xff08;力扣有&#xff09; &#xff08;1&#xff09;图示 &#xff0…

扭矩VS转角法的优缺点——SunTorque智能扭矩系统

智能扭矩系统-智能拧紧系统-扭矩自动控制系统-SunTorque 在机械工程中&#xff0c;螺栓拧紧是一个至关重要的步骤&#xff0c;它直接关系到设备的安全性和性能。在众多螺栓拧紧方法中&#xff0c;扭矩法和转角法是最常用的两种。本文将对这两种方法进行详细的对比&#xff0c;…

C语言(指针)单元练习三

1下列语句的输出结果是______。C int **pp,*p,a5,b8; pp&p;p&a;p&b;printf("%d,%d",*p,**pp); A. 5,8 B.8,5 C. 8,8 D. 5,5 2如下程序的输出结果是______。B #include <stdio.h> #include <ctype.h> #include <stri…

2024考研国家线公布,各科分数线有哪些变化?考研国家线哪些涨了,哪些跌了?可视化分析告诉你

结论在文章结尾 2024考研国家线 一、近五年国家线趋势图-学术硕士 文学 管理学 工学照顾专业 体育学 交叉学科 军事学 历史学 理学 享受少数名族照顾政策的考生 中医类照顾专业 教育类 艺术类 医学 工学 哲学 法学 农学 经济学 二、近五年国家线趋势图-专业硕士 中医 应用心理 …

web项目的搭建

使用Webstorm并创建Next.js文件 1、配置nodejs环境、安装webstorm【配置node.js可以使用nvm去管理nodejs的版本】 2、需要破解webstorm&#xff0c;可能会导致原本的idea失效&#xff0c;注册码过期 3、taobao的npm过期&#xff0c;导致npm is sass执行不成功&#xff0c;需…

jvaweb 3-13

Element 后端开发 maven maven的作用 下载并配置环境变量 创建Maven项目 Maven坐标 依赖 Maven的依赖传递特性 以图表形式展示依赖 排除依赖 依赖范围 生命周期

普通小白现在做抖音小店还能赚到钱吗?千万不要忽视这几点

大家好&#xff0c;我是电商花花。 赚钱做生意的秘密&#xff0c; 很简单&#xff0c;就是积少成多&#xff0c;以小见大&#xff0c;然后和时间成为朋友。 而做抖音小店也是这样的一个道理&#xff0c;不管是新手小白还是老电商玩家&#xff0c;都是从一点一滴做起来的&…

C#使用自定义的泛型节点类接口 IBinaryTreeNode<T>实现二叉树类接口IBinaryTree<T> 及其方法

目录 1.首先&#xff0c;定义节点类接口 IBinaryTreeNode 2.第二&#xff0c;定义二叉树接口 IBinaryTree 3.第三&#xff0c;定义二叉树节点BinaryTreeNode(T value) 4.第四&#xff0c;二叉树方法实现 5.最后&#xff0c;用Main方法实现二叉树类接口IBinaryTree 及其方法…

如何使用vue定义组件之——父组件调用子组件

首先&#xff0c;我们需要创建两个组件模板template&#xff1a; <template id"father"><div><h3>我是父组件</h3><h3>访问自己的数据:</h3><h3>{{ msg }}</h3></div></template><template id"…

性能测试-数据库

一、数据库事务机制 ACID描述 1、原子性Atomicity&#xff1a;事务通常由多个语句组成。原子性保证将每个事务视为一个“单元”&#xff0c;该事务要么完全成功&#xff0c;要么完全失败 2、一致性Consistency&#xff1a;“一致”是指数据库中的数据是正确的&#xff0c;不存…

【2024-03-12】设计模式之模板模式的理解

实际应用场景&#xff1a;制作月饼 过程描述&#xff1a; 一开始&#xff0c;由人工制作月饼&#xff0c; 第一个&#xff1a;根据脑子里面月饼的形状&#xff0c;先涅出月饼的形状&#xff0c;然后放入面粉和馅料把开口合并起来。 第二个&#xff1a;根据脑子里面月饼的形状&…