华师一附中OI组

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1091|回复: 2
打印 上一主题 下一主题

P1190 接水问题

[复制链接]

738

主题

1485

帖子

5420

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5420
跳转到指定楼层
楼主
发表于 2018-7-4 08:51:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
https://www.luogu.org/problemnew/show/P1190

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

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

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

输入输出格式
输入格式:
第 1 行 2 个整数 n 和 m ,用一个空格隔开,分别表示接水人数和龙头个数。

第 2 行 n 个整数 w_1,w_2,…,w_n,每两个整数之间用一个空格隔开, w_i表示 i 号同学的接水量。

输出格式:
1 个整数,表示接水所需的总时间。

输入输出样例
输入样例#1:
5 3
4 4 1 2 1
输出样例#1:
4
输入样例#2:
8 4
23 71 87 32 70 93 80 76
输出样例#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 秒。

【数据范围】

1≤n≤10000,1≤m≤100 且 m≤n ;1≤w_i≤100

回复

使用道具 举报

738

主题

1485

帖子

5420

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5420
沙发
 楼主| 发表于 2018-10-14 12:00:20 | 只看该作者
纯模拟,每次找最小值,然后消掉它,大家都减去最小值,再加入下一下数。直到全部加入完毕。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|服务支持:DZ动力|华师一附中OI组  

GMT+8, 2024-11-2 06:24 , Processed in 0.117294 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表