实验室需要执行一批计算任务,每个任务会消耗一定的运行时长。现有两台计算机可以执行这些任务,计算机 A 的性能是计算机 B 的两倍,即同样一个任务在计算机 B 上需要的运行时长是 A 的 2 倍。任务需要串行执行,每台计算机同一时刻最多能运行一个任务,同一个任务只能在 A 或 B 上运行完成,不能拆分。
请合理分配这些任务到 A 和 B 上,并返回运行完成所有任务所需的最小时间。
实验室有一批必须执行完毕的计算任务,每个任务在计算机 A 上有一个已知的基准运行时间。实验室还提供计算机 B,其处理速度是计算机 A 的一半。因此,如果某个任务在 A 上需要 a 分钟,那么它在 B 上执行需要 2a 分钟。
所有任务必须被完整地分配给 A 或 B 中的一台,不允许将同一个任务拆分到两台机器上执行。每台计算机在同一时刻只能处理一个任务;不同计算机可以并行工作。一个任务一旦被分配到某台计算机,就需要在该计算机上运行直到完成。
目标是找到一种分配方案,使整体完工时间尽可能小,输出完工时间。
约束条件
1 到 1000 之间。1 到 1000 分钟之间。
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册