#6568. 修理牛棚 Barn Repair
修理牛棚 Barn Repair
题目描述
在一个月黑风高的暴风雨夜,农夫约翰的牛棚屋顶和门被吹飞了。好在许多牛正在度假,牛棚并没有住满。
牛棚一个紧挨着另一个排成一行,牛就在里面过夜。有些牛棚里有牛,有些没有。所有牛棚的宽度相同。
自门遗失以后,农夫约翰必须尽快在牛棚前竖立起新的木板。他的新木材供应商可以供应任意长度的木板,但供应商比较吝啬,只能提供有限数目的木板。农夫约翰想让他购买的木板总长度尽量短。
给出木板的最大数目 、牛棚的总数 、牛的总数 ,以及每头牛所在牛棚的编号,请你计算拦住所有有牛的牛棚所需木板的最小总长度。
输入格式
第一行包含三个整数 ,含义如下:
- :能购买的最大木板数量(),
- :牛棚总数(),
- :牛的总数()。
接下来 行,每行一个整数,表示一头牛所在的牛棚编号。牛棚编号在 到 之间。
输出格式
输出一行一个整数,表示拦住所有有牛牛棚所需木板的最小总长度。
2 10 5
2
3
5
8
9
6
样例 1 解释
最多能使用 块木板,共 头牛,住在编号 的牛棚里。最优方案:
- 一块木板覆盖 (包含 , 无牛也被覆盖),长度 ;
- 一块木板覆盖 ,长度 。
总长度为 。
4 50 18
3
4
6
8
14
15
16
17
21
25
26
27
30
31
40
41
42
43
25
样例 2 解释
木板最多 块,覆盖方案如下:
- 一块木板覆盖 ,长度 ;
- 一块木板覆盖 ,长度 ;
- 一块木板覆盖 ,长度 ;
- 一块木板覆盖 ,长度 。
总长度 。
相关
在以下作业中: