获取题库不需要订阅专栏,可直接私信我进入CSDN领军人物top1博主的华为OD交流圈观看完整题库、最新面试实况、考试报告等内容以及大佬一对一答疑。
题目描述
你有 n 台机器,编号为 1~n,每台都需要完成一项工作,机器经过配置后都能独立完成一项工作。
假设第 i 台机器你需要花 Bi 分钟进行设置,然后开始运行,Ji 分钟后完成任务。
现在,你需要选择布置工作的顺序,使得用最短的时间完成所有工作。
注意,不能同时对两台进行配置,但配置完成的机器们可以同时执行他们各自的工作。
输入描述
第一行输入代表总共有 M 组任务数据(1<M<=10)。
每组数第一行为一个整数指定机器的数量 N(0<N<=1000)。随后的 N 行每行两个整数,第一个表示 B(0<=B<=10000),第二个表示 J(0<=J<=10000)。
每组数据连续输入,不会用空行分隔。各组任务单独计时。
输出描述
对于每组任务,输出最短完成时间,且每组的结果独占一行。例如,两组任务就应该有两行输出。
题目解析
这是一个典型的贪心策略问题,需要根据每台机器的配置时间和工作时间来决定最佳的工作顺序。一个有效的策略是优先选择那些配置时间与工作时间之和最小的机器,这样可以在最短时间内完成配置并开始执行任务,同时尽可能早地释放资源供其他机器配置。为了保证效率,可以先将所有机器按配置时间与工作时