Problem 3E: K8s - Easy Version
Problem 3E: K8s - Easy Version
时间限制:2000ms
空间限制:512MB
题目描述
电自院最近新设立了一台AI推理服务器,旨在预测校内各楼宇的耗电量。尽管这台AI服务器上装有多张显卡,但是由于负责该项目的同学,小F,并不会任何的后端技术,导致现在这台服务器只能串行处理请求,无法利用这么多显卡。由于小F的导师对这台服务器的QPS如此之低感到不满,一些改进方案被提了出来:
AI服务器上现有个显卡,依次编号为,编号为的显卡算力为。为充分利用这些显卡,小F为每个显卡都创建了一个Pod,每个Pod中都运行着调用某块显卡进行AI推理的程序。由于每个Pod中的显卡型号可能有差别,且任务的种类繁多,因此不同任务在不同Pod中的运行时间会有差异。经过研究统计,小F发现,AI服务器会收到种推理任务,编号为,类型编号为的任务的规模为。当类型编号为的任务在编号为的显卡上运行时,所需要的时间为毫秒。这里符号表示不大于的最大整数。
为了合理的将推理任务分配给Pod,小F设计了一种分配机制。每当AI服务器收到一个推理任务时,就会把这个任务分配给**响应用时最短**的Pod;如果有多个Pod的响应用时均最短,那么分配给**完成任务的数量(含正在运行的任务)最少**的Pod;如果有多个Pod的响应用时均最短且完成任务数量一致,那么分配给**编号最小**的那个Pod。
某时刻一个任务在某个Pod上的“响应用时”的定义为:将这一任务加入该Pod后,该Pod**开始**这一任务的时刻与当前时刻的时间差。例如,一个Pod正在运行一个需要10毫秒的任务,当前该任务已经运行了5毫秒,而且恰好还有3个用时分别为12毫秒、31毫秒和8毫秒的任务等待在该Pod上运行,如果有一个此时有一个新任务可能会分配到该Pod上,那么当前时刻这个新任务在该Pod上的响应时间就是毫秒。
现在,AI服务器收到了个推理任务,第个推理任务的到达服务器的时刻为毫秒,类型编号为。这里保证所有严格递增,即对于。小F希望知道,按照上述方案,这些推理任务都会被分配给哪个Pod。
由于小F的代码水平稀烂,因此他无法完成这项工作。因此,他现在求助于你,希望你能帮他完成这个程序。
输入格式
第1行,包含3个整数;
第2行,包含个整数,分别表示;
第3行,包含个整数,分别表示;
第4~行,每行2个整数,第行的整数分别表示,
一行内的多个整数之间使用1个空格分开,且每行的开头和末尾没有多余空格。
输出格式
输出行,每行1个整数。第行的整数表示服务器接收到的个推理任务被分配到的Pod的显卡编号。
样例输入
样例输出
样例解释
本例中有2种显卡和3种任务。
时间/ms | 任务类型编号 | 显卡0任务数 | 显卡0的等待队列 | 显卡0的响应时间/ms | 显卡1任务数 | 显卡1的等待队列 | 显卡1的响应时间/ms | 选择哪个显卡? |
---|---|---|---|---|---|---|---|---|
0 | 1 | 0 | 空 | 0 | 0 | 空 | 0 | 0号显卡 |
12 | 0 | 1 | [54ms],首个任务已运行12ms | 54-12=42 | 0 | 空 | 0 | 1号显卡 |
38 | 0 | 1 | [54ms],首个任务已运行38ms | 54-38=16 | 1 | 空 | 0 | 1号显卡 |
39 | 2 | 1 | [54ms],首个任务已运行39ms | 54-39=15 | 2 | [23ms],首个任务已运行1ms | 22 | 0号显卡 |
204 | 1 | 1 | 空 | 0 | 2 | 空 | 0 | 0号显卡 |
数据范围及约定
对于的数据,满足
对于的数据,满足;
对于的数据,,,,,,所有输入数值均为非负整数。
提示
猜猜这题为什么叫K8s?
信息
- ID
- 1579
- 难度
- 10
- 分类
- (无)
- 标签
- (无)
- 递交数
- 3
- 已通过
- 0
- 通过率
- 0%
- 上传者
相关
在下列比赛中: