题目描述
假设有n 个任务由k 个可并行工作的机器完成。
完成任务i 需要的时间为ti。
试设计一个算法找出完成这n 个任务的最佳调度,使得完成全部任务的时间最早。 一旦任务i由某台机器完成,中途不能更换机器。
编程任务:
对任意给定的整数n 和k,以及完成任务i 需要的时间为ti,i=1~n 。编程计算完成这n个任务的最佳调度
输入格式
第一行有2 个正整数n 和k。
第2 行的n 个正整数是完成n 个任务需要的时间。
输出格式
完成全部任务的最早时间。
样例数据
input
7 3
2 14 4 16 6 5 3
output
17
input
5 2
8 9 3 7 7
output
17
数据规模与约定
保证$n<=20, k<=10$。
时间限制:$ 1 \text {s} $
空间限制:$ 256 \text {MB} $