codevs1127 接水问题

题目描述 Description

学校里有一个水房,水房里一共装有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

数据范围及提示 Data Size & Hint

n<=10000, m<=100

第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<iostream>
#include<cstdio>
#include<algorithm>

const int maxm = 101;
using namespace std;
int main(){
    int n = 0,m = 0,rap[maxm],i = 0,r = 0,j = 0,k = 0,l = 0,time = 0,base = 0;
    scanf("%d",&n);
    scanf("%d",&m);
    for(i = 0;i < m;i++) scanf("%d",&rap[i]);
    sort(rap,rap + m);
    while((k < n - m) && (scanf("%d",&r) == 1)){
        rap[0] += r;
        sort(rap,rap + m);
    }
    cout<<rap[m - 1]<<endl;
    return 0;
}
时间: 2024-08-02 16:25:19

codevs1127 接水问题的相关文章

一&#183;京京得水

有一个小姑娘,今年六岁了,眼睛又圆又大,像黑豆子似的,但嘴巴挺大,很爱说话.虽然年龄比较小,可就是爱看野外的大自然,所以常常跑到野外,令家人担心,最担心的 是妈妈,妈妈常常"京京" "京京"的叫,嗓子都叫哑了. 她是一个懂得很多东西的女孩,知道很多动物和植物的名称.她也是一个很有耐心的女孩,有一件玩具,连她的妈妈,爸爸和哥哥都弄不懂该怎么玩,而她哪?就算弄乱,也要找到技巧,所以她会使用很多东西. 在一个晴朗的天气,小京京在家里又呆不住了,去找邻居家的孩子----彩云

三角函数之美-水波纹加载LoadingView

一.前言 学习是要总结的,最近几天学习了绘图相关的,但是使用的机会较少,现在又快要遗忘了,这次看了水波纹的绘制,觉得十分有意思,还是 把实现的方法记录下来.技术无他,为手熟尔,还是要多练习,空淡误国,实干兴邦,让我们看看今天的三角函数之美吧. 二.概述 肯定大家对中学学习的三角函数都不陌生吧,不过学习的sin.cos是超越函数一类函数,是初等函数的一种,借用维基百科的一张图: 一个完整的正弦函数应该是这样的:>y=Asin(ωx+φ)+h,A决定峰值,ω决定周期,φ表示初相位,h表示y轴的位置.

bzoj1601【Usaco2008 Oct】灌水

1601: [Usaco2008 Oct]灌水 Time Limit: 5 Sec  Memory Limit: 162 MB Submit: 1589  Solved: 1035 [Submit][Status][Discuss] Description Farmer John已经决定把水灌到他的n(1<=n<=300)块农田,农田被数字1到n标记.把一块土地进行灌水有两种方法,从其他农田饮水,或者这块土地建造水库. 建造一个水库需要花费wi(1<=wi<=100000),连接两

c语言:1000瓶水,有一瓶是有毒的,现共有10只老鼠,怎么判断毒水?

问题:1000瓶水,其中有一瓶是有毒的,一只老鼠喝下毒水会一天之后死亡,现在共有10只老鼠,怎么判断哪一瓶水是毒水? 分析:2^10=1024,则可以考虑利用二进制求解 解:给1000瓶水依次标号1至1000,将10只老鼠从右向左排成一列,第一瓶水让右边第1只老鼠喝,第2瓶水让第2只老鼠喝,第3瓶水让第1,2只老鼠喝,则第4瓶水让第3只老鼠喝,......第1000瓶水依次让第4,6,7,8,9,10只老鼠喝,记死亡的老鼠为1,未死亡的老鼠为0,按照二进制表示数的方法求出这个数,就知道哪瓶是毒水

2015南阳CCPC L - Huatuo&#39;s Medicine 水题

L - Huatuo's Medicine Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 无 Description Huatuo was a famous doctor. He use identical bottles to carry the medicine. There are different types of medicine. Huatuo put medicines into the bottles and chain these b

android 水波纹

public class MyWaveView extends View{ private ArrayList<Wave> list; private int[] colors = {Color.RED,Color.BLUE, Color.DKGRAY,Color.GREEN,Color.YELLOW}; public boolean isRunning = false; public MyWaveView(Context context) { this(context,null); } pu

ZOJ 3827 Information Entropy 水

水 Information Entropy Time Limit: 2 Seconds      Memory Limit: 65536 KB      Special Judge Information Theory is one of the most popular courses in Marjar University. In this course, there is an important chapter about information entropy. Entropy is

如果是壬癸水八字的人呢?壬癸水遇风水-日课-命理-养生-日课原理与择日玄机命理养生

紧着我又接到另一个老板的电话,电话的内容是约请我晚上一起吃饭,因为他过来的时辰不好,我就让他先到我办公室坐了一会,等过了这个申时到酉时的时候再下去,因为一时分八刻,在酉时的前两刻还有申时的过度内容.所以我们在算八字的时候,要知道他的出生地和现居住,尽量要知道求测者的出生时间是几点几分,因为一个时辰要分为八刻,每一刻代表的度数也不一样,在一.二刻和七 八刻的时候就要两边跨,我们就要看他的大运是几岁运,如果是昨天立秋,今天出生的人,他是几岁运?他是逆推运必然是1虚岁岁运,如果求测者出生的时辰是在午月

sdut 2841 Bit Problem (水题)

题目 贴这个题是因为看题解有更简单的方法, 我做的时候是直接算的, 也很简单. 贴一下题解吧: 如果一个整数不等于 0,那么该整数的二进制表示中至少有一位是 1. 这个题结果可以直接输出 x - (x&(x-1)); 因为x-1 之后二进制下,就是最右边的1变成了0, 最右边的1的 右边所有的0变成了1, 不影响最左边. 我的代码: 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4