题目:任务分配
2012-01-06 19:49
363 查看
题目描述
图书馆按顺序排列有N本书需要维护,每本书的总页数不相同。现有M位员工。可以给每个员工分配连续的一段书籍,让他进行维护。现在的问题是,怎么样分配,工作任务最重(需要维护的页数最多)的人维护的页数尽量少。【数据规模和约定】
N<=10^5,M<=N。一本书的页数最多10^4。
输入格式
第一行两个数,N、M。接下来N行,每行一个整数,表示一本书的页数。输出格式
任务最重的人最少需要维护的页数。代码实现:
#include<iostream>
using namespace std;
int a[100001],m,n,mid;
int check(){
int i=1,j=1,l=0;
while(i<=n)
{
l+=a[i];
if(l>mid) {j++;l=a[i];}
i++;
}
if(j<=m) return 1;
else return 0;
}
int main()
{
int i,j,left=0,right=0;
cin>>n>>m;
for(i=1;i<=n;i++)
{
cin>>a[i];
right+=a[i];
if(a[i]>left) left=a[i];
}
while(left<right)
{
mid=(left+right)/2;
if(check())
right=mid;
else left=mid+1;
}
cout<<right;
return 0;
}
相关文章推荐
- Activiti 分配组任务(三种方式)
- VSTS项目管理过程中任务的分配情况
- 经典百度面试算法:万人工厂分配任务
- activiti个人任务及三种分配方式
- Job的map任务分配
- 网易校园招聘c++题目--如何让new操作符不分配内存,只调用构造函数
- 【JBPM4】任务节点-任务分配swimlane
- 分配任务的原则过程
- Hdu 3572 Task Schedule [最大流] 任务分配,判断满流
- JStorm与Storm源码分析(二)--任务分配,assignmen
- 引导用户做任务,并按用户等级和任务分配不同的收益
- Android中Task任务栈的分配
- windows下利用线程池完成多任务的分配和运行
- 项目管理之任务分配
- activiti 用户任务分配指定
- 工作任务分配时的五个问题
- ACM 任务分配问题
- 一种基于平均思想的任务分配算法
- hdu3572 Task Schedule(基础) [最大流]任务分配,判断满流
- 8.在实际的开发工作中,对字符串的处理是最常见的编程任务。本题目即是要求程序对用户输入的串进行处理。具体规则如下: