AlgoMooc
← 返回题库

P3307. 部门人力分配

中等通过率 46% · 提交 1,239 · 通过 564
二分查找双指针贪心排序

小慕在负责一个项目的需求开发,需要合理安排人力。当前项目共有 N 个需求,每个需求的工作量用 requirements[i] 表示,单位是。这些需求需要在 M 个月内完成开发,且每个月安排的人力是固定的。 每个月最多只能同时开发 2 个需求,并且当月所有需求的工作量总和不能超过当月的人力。请帮小慕计算,在满足项目进度要求的前提下,是多少。

提示:带虚线的词点一下有通俗解释。

输入描述

输入第一行为 M ,第二行为 requirements 。 M 表示需要开发时间要求,requirements 表示每个需求工作量大小 N 为 requirements 长度, 1 ≤ N / 2 ≤ M ≤ N ≤ 10000,1 ≤ requirements[i]≤ 10^9

输出描述

对于每一组测试数据,输出部门需要人力需求,行末无多余的空格。

示例

示例 1

输入

3
3 5 3 4

输出

6

说明:输入数据两行,第一行输入数据 3 表示开发时间要求,第二行输入数据表示需求工作量大小,输出数据一行,表示部门人力需求。 当选择人力为6时,2个需求量为3的工作可以在1个月里完成,其他2个工作各需要1个月完成。可以在3个月内完成所有需求。 当选择人力为5时,4个工作各需要1个月完成,一共需要4个月才能完成所有需求。 因此6是部门最小的人力需求。

时间限制 1000 ms · 内存限制 128 MB

看不懂题目?点开图解(训练营专属)

登录后查看题目图解

题目图解为训练营学员专属内容,请先登录。

微信扫码登录还不是训练营学员?了解训练营 →
写完代码点「提交」,将对全部测试用例判题。