cpu批作业调度问题!
请有能力的多帮帮我!希望能给我一些指导!数据结构与算法实验题14.3批作业调度问题
实验任务:
单CPU计算机上的CPU在任何时刻只能处理一个作业。抢占式任务调度可以随时中断
当前作业,转而处理另一作业,等CPU 空闲时再继续执行原来的作业。假设有n 个作业
{1,2,…, n }由CPU 按照抢占式任务调度进行处理。每个作业j 有一个开始时间为s( j),和
处理作业所需的CPU时间为t( j),1 < j < n。作业j在开始时间s( j)之后可以开始处理,
并用CPU时间t( j)进行处理后完成。
设CPU 起始时间为0。在一个作业调度s 中,作业j 从开始时间0到处理结束经过的时
间为c(j) ,则作业调度s 所需的完成时间和为c(j)之和,其中j从1到n。
批作业调度问题要求确定这n 个作业的最优调度,使得所需的完成时间和最小。试设计
一个解此问题的算法,并分析算法的正确性和计算复杂性。
输入格式:
输入数据第1 行是正整数n(1<=n<=200000),表示作业数。接下来的n行中,每行有2个
正整数s和t,分别表示作业的开始时间,和处理作业所需的CPU时间。
输出格式:
将计算出的最小完成时间和输出。
输入示例
5
1 4
3 1
5 1
2 1
2 1
输出文件示例
27