TouchStone
  请登录后使用
登录 注册
 系统首页  练习题库  考试列表  判题结果  问题讨论与解答  统计信息与排名
  • 首页
  • 题库
  • P1789
  • 题目
  • P1789【USACO1.3.2】Barn Repair 修理牛棚
    限制 : 时间限制 : 10000 MS   空间限制 : 65536 KB
    问题描述

    在一个夜黑风高,下着暴风雨的夜晚,farmer John的牛棚的屋顶、门被吹飞了。 好在许多牛正在度假,所以牛棚没有住满。 牛棚一个紧挨着另一个被排成一行,牛就住在里面过夜。 有些牛棚里有牛,有些没有。 所有的牛棚有相同的宽度。 自门遗失以后,farmer John必须尽快在牛棚之前竖立起新的木板。 他的新木材供应商将会供应他任何他想要的长度,但是吝啬的供应商只能提供有限数目的木板。 farmer John想将他购买的木板总长度减到最少。

    给出:可能买到的木板最大的数目M(1<= M<=50);牛棚的总数S(1<= S<=200); 牛棚里牛的总数C(1 <= C <=S);和牛所在的牛棚的编号stall_number(1 <= stall_number <= S),计算拦住所有有牛的牛棚所需木板的最小总长度。 输出所需木板的最小总长度作为答案。

    输入格式

    1 行: 木板最大的数目M ,牛棚的总数S 和 牛的总数C(用空格分开)
    2 到 C+1行: 每行包含一个整数,表示牛所占的牛棚的编号。

    输出格式

    单独的一行包含一个整数表示所需木板的最小总长度。

    样例输入

    4 50 18




    14
    15 
    16 
    17 
    21
    25 
    26 
    27 
    30 
    31 
    40 
    41 
    42 
    43

    样例输出

    25

    提示

    [ 一种最优的安排是用板拦牛棚3-8,14-21,25-31,40-43.]