#3862. 清理班次2
清理班次2
题目描述
约翰的奶牛们从小娇生惯养,她们无法容忍牛棚里的任何脏东西。约翰发现,如果要使这群有洁癖的奶牛满意,他不得不雇佣她们中的一些来清扫牛棚,约翰的奶牛中有 头愿意通过清扫牛棚来挣一些零花钱。
由于在某个时段中奶牛们会在牛棚里随时随地地乱扔垃圾,自然地,她们要求在这段时间里,无论什么时候至少要有一头奶牛正在打扫。需要打扫的时段从某一天的第 秒开始,到第 秒结束 。注意这里的秒是指时间段而不是时间点,也就是说,每天需要打扫的总时间是 秒。
约翰已经从每头牛那里得到了她们愿意接受的工作计划:对于某一头牛,她每天都愿意在笫 秒的时间段内工作 ,所要求的报酬是 美元 。与需打扫时段的描述一样,如果一头奶牛愿意工作的时段是每天的第 秒,那她总共工作的时间是 秒,而不是 秒。
约翰一旦决定雇佣某一头奶牛,就必须付给她全额的工资,而不能只让她工作一段时间,然后再按这段时间在她愿意工作的总时间中所占的百分比来决定她的工资。现在请你帮约翰决定该雇佣哪些奶牛以保持牛棚的清洁,当然,在能让奶牛们满意的前提下,约翰希望使总花费尽量小。
输入格式
第 行: 个正整数 。
第 到 行:第 行给出了编号为 的奶牛的工作计划,即 个正整数 。
输出格式
输出一个整数,表示约翰需要为牛棚清理工作支付的最少费用。如果清理工作不可能完成,那么输出 。
样例
3 0 4
0 2 3
3 4 2
0 0 1
5
提示
约翰有 头牛,牛棚在第 秒到第 秒之间需要打扫。 约翰雇佣前两头牛清扫牛棚,可以只花 美元就完成一整天的清扫。
来源
- USACO 2005 DEC
- 洛谷P4644
- POJ3171
- 算法竞赛进阶指南