Advertisement

您拥有n个下属,每位下属需承担一项任务

阅读量:

突击战

来源 :《算法竞赛入门经典——训练指南》/刘汝佳,陈锋编著

假设有n名下属,每位下属都需要完成一个特定的任务。对于第i名下属而言,需要耗费Bi分钟的时间进行任务说明,之后该下属将立即开始执行任务,并持续J分钟直至完成。目标是确定一个任务说明的顺序,使得所有任务能够尽快完成(即最后一个完成任务的时间尽可能早)。需要注意的是,不能同时为两名下属进行说明,但各下属可以在各自任务执行期间并行处理。
【输入格式

示例代码展示

复制代码
    //代码来源:《算法竞赛入门经典——训练指南》/刘汝佳,陈锋编著.一北京:清华大学出版社,2012.9
    
    #include<cstdio>
    #include<vector>
    #include<algorithm>
    using namespace std;
    
    struct Job{
    	int b, j;
    	bool operator<(const Job& x) const {
    		return j > x.j;
    	}
    };
    
    int main(){
    	int n, b, j, kase = 1;
    	while(scanf("%d", &n) == 1 && n){

全部评论 (0)

还没有任何评论哟~