题目描述

假设有n个任务由k个可并行工作的机器完成。完成任务i需要的时间为ti。试设计一个算法找出完成这n个任务的最佳调度,使得完成全部任务的时间最早。

   对任意给定的整数n和k,以及完成任务i需要的时间为ti,i=1~n。编程计算完成这n个任务的最佳调度。

输入

给出输入数据。第一行有2 个正整数n和k。第2 行的n个正整数是完成n个任务需要的时间。

输出

将计算出的完成全部任务的最早时间输出

样例输入

7 3

2 14 4 16 6 5 3

样例输出

17

import java.util.Arrays;
import java.util.Scanner; public class zuijiatiaozhengwenti {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int k = sc.nextInt();
int [] a = new int [k+1];
int [] num = new int [n+1];
int [] num1 = new int [n+1];
for (int i = 1; i < num.length; i++) {
num[i]=sc.nextInt();
}
Arrays.sort(num);
for (int i = 1; i < num1.length; i++) {
num1[i]=num[num.length-i];
}int b = 0;
int temp = 1;
for (int i = 0; ; i++) {
for (int j = 1; j <=k; j++) {
if(a[j]==0 && temp !=n+1){
a[j]=num1[temp];
temp++;
}
if(a[j]!=0){
b=-1;
a[j]-=1;
}
}
if(b==0){
System.out.println(i);
break;
}
b=0;
}
} }

(Java实现) 最佳调度问题的更多相关文章

  1. paip.myeclipse7 java webservice 最佳实践o228

    paip.myeclipse7  java webservice 最佳实践o228 java的ws实现方案:jax-ws>>xfire ws的测试工具  webservice测试调用工具W ...

  2. Effective Java之最佳建议

    #Effective Java之最佳建议 此书中,目前给我帮助最大的两条建议是: - 检查参数的有效性 - 不要忽略异常 ###检查参数的有效性 对于这一条,使我感同身受的原因是:在Web项目中,前期 ...

  3. 10个精妙的Java编码最佳实践

    这是一个比Josh Bloch的Effective Java规则更精妙的10条Java编码实践的列表.和Josh Bloch的列表容易学习并且关注日常情况相比,这个列表将包含涉及API/SPI设计中不 ...

  4. 最重要的 Java EE 最佳实践

    參考:IBM WebSphere 开发人员技术期刊: 最重要的 Java EE 最佳实践 IBM WebSphere 开发人员技术期刊: 最重要的 Java EE 最佳实践 2004 年 IBM® W ...

  5. Java初学者最佳的学习方法以及会遇到的坑(内含学习资料)!

    最近系统整理了一套java初学者最佳的学习方法以及会遇到的坑等,希望对你有所帮助. 目录: 一.学习java的前提 二.学习java的方法 三.学习java时的坑 四.学习java的路线(画重点) 一 ...

  6. 你知道吗?10个精妙的 Java 编码最佳实践

    这是一个比Josh Bloch的Effective Java规则更精妙的10条Java编码实践的列表.和Josh Bloch的列表容易学习并且关注日常情况相比,这个列表将包含涉及API/SPI设计中不 ...

  7. Atitit.嵌入式web 服务器 java android最佳实践

    Atitit.嵌入式web 服务器 java android最佳实践 1. Android4.4.21 2. 自己的webserver1 3. CyberHTTP for Java  cybergar ...

  8. Java异常处理最佳实践

    总结一些Java异常的处理原则 Java异常处理最佳实践 不要忘记关闭资源 在finally里关闭资源 public void readFile() { FileInputStream fileInp ...

  9. Selenium 4 Java的最佳测试框架

    几十年来,Java一直是开发应用程序服务器端的首选编程语言.尽管JUnit一直在与开发人员一起帮助他们进行自动化的单元测试,但随着时间的推移和测试行业的发展,特别是伴随着自动化测试的兴起,已经开发了许 ...

随机推荐

  1. LeetCode--Array--Remove Duplicates from Sorted Array (Easy)

    26. Remove Duplicates from Sorted Array (Easy) Given a sorted array nums, remove the duplicates in-p ...

  2. Qt源码解析之-从PIMPL机制到d指针

    一.PIMPL机制 PIMPL ,即Private Implementation,作用是,实现 私有化,力图使得头文件对改变不透明,以达到解耦的目的 pimpl 用法背后的思想是把客户与所有关于类的私 ...

  3. STM32 ADC多通道规则采样和注入采样

    layout: post tags: [STM32] comments: true 文章目录 layout: post tags: [STM32] comments: true 什么是ADC? STM ...

  4. Git使用教程之在github上创建项目(三)

    继续~ 登录你的github账号,创建一个新项目 1. 2. 至此,github的项目也创建完成了.

  5. 带你理解【JavaScript】中的继承机制

    前文 总所周知,继承是所有OO语言中都拥有的一个共性.在JavaScript中,它的继承机制与其他OO语言有着很大的不同,尽管ES6为我们提供了像面向对象继承一样的语法糖,但是其底层依然是构造函数,所 ...

  6. beego中Controller的GetControllerAndAction方法

    beego中Controller的GetControllerAndAction方法 GetControllerAndAction方法在beego中的源码 // GetControllerAndActi ...

  7. 选择函数index_select

    书中(pytorch入门实战)讲:index_select(input, dim, index),指定维度dim上选取,未有示例. 查到相关资料后, import torch as t # 导入tor ...

  8. 错误 在应用程序级别之外使用注册为 allowDefinition='MachineToApplic

    错误 在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的.如果在 IIS 中没有将虚拟目录配置为应用程序,则可能导致此错误. 如果 ...

  9. Loadrunner中遇到Failed to connect to server[10061] connection refused错误

    (1)run-time setting/browser emulation中,将simulate a new user on each iteration  选项去掉(默认是选中的). 重新运行一切正 ...

  10. Hadoop CDH版本安装和启动(CentOS7)

    1.创建hadoop组和用户,useradd hadoop passwd hadoop groupadd hadoops usermod -G hadoops hadoop(将hadoop添加到had ...