Problem 3E: K8s - Easy Version

Problem 3E: K8s - Easy Version

Problem 3E: K8s - Easy Version

时间限制:2000ms

空间限制:512MB

题目描述

电自院最近新设立了一台AI推理服务器,旨在预测校内各楼宇的耗电量。尽管这台AI服务器上装有多张显卡,但是由于负责该项目的同学,小F,并不会任何的后端技术,导致现在这台服务器只能串行处理请求,无法利用这么多显卡。由于小F的导师对这台服务器的QPS如此之低感到不满,一些改进方案被提了出来:

AI服务器上现有nn个显卡,依次编号为0,1,2,...,n10,1,2,...,n-1,编号为ii的显卡算力为cic_i。为充分利用这些显卡,小F为每个显卡都创建了一个Pod,每个Pod中都运行着调用某块显卡进行AI推理的程序。由于每个Pod中的显卡型号可能有差别,且任务的种类繁多,因此不同任务在不同Pod中的运行时间会有差异。经过研究统计,小F发现,AI服务器会收到mm种推理任务,编号为0,1,2,...,m10,1,2,...,m-1,类型编号为ii的任务的规模为aia_i。当类型编号为ii的任务在编号为jj的显卡上运行时,所需要的时间为[ai/cj][a_i/c_j]毫秒。这里符号[x][x]表示不大于xx的最大整数。

为了合理的将推理任务分配给Pod,小F设计了一种分配机制。每当AI服务器收到一个推理任务时,就会把这个任务分配给**响应用时最短**的Pod;如果有多个Pod的响应用时均最短,那么分配给**完成任务的数量(含正在运行的任务)最少**的Pod;如果有多个Pod的响应用时均最短且完成任务数量一致,那么分配给**编号最小**的那个Pod。

某时刻一个任务在某个Pod上的“响应用时”的定义为:将这一任务加入该Pod后,该Pod**开始**这一任务的时刻与当前时刻的时间差。例如,一个Pod正在运行一个需要10毫秒的任务,当前该任务已经运行了5毫秒,而且恰好还有3个用时分别为12毫秒、31毫秒和8毫秒的任务等待在该Pod上运行,如果有一个此时有一个新任务可能会分配到该Pod上,那么当前时刻这个新任务在该Pod上的响应时间就是(105)+(12+31+8)=56(10-5)+(12+31+8)=56毫秒。

现在,AI服务器收到了qq个推理任务,第ii个推理任务的到达服务器的时刻为tit_i毫秒,类型编号为kik_i。这里保证所有tit_i严格递增,即对于i{1,2,...,q1},ti<ti+1\forall i\in\{1,2,...,q-1\}, t_i< t_{i+1}。小F希望知道,按照上述方案,这些推理任务都会被分配给哪个Pod。

由于小F的代码水平稀烂,因此他无法完成这项工作。因此,他现在求助于你,希望你能帮他完成这个程序。

输入格式

第1行,包含3个整数n,m,qn,m,q

第2行,包含nn个整数,分别表示c0,c1,c2,...,cn1c_0,c_1,c_2,...,c_{n-1}

第3行,包含mm个整数,分别表示a0,a1,a2,...,am1a_0,a_1,a_2,...,a_{m-1}

第4~(q+3)(q+3)行,每行2个整数,第(3+i)(3+i)行的整数分别表示ti,kit_i,k_i

一行内的多个整数之间使用1个空格分开,且每行的开头和末尾没有多余空格。

输出格式

输出qq行,每行1个整数。第ii行的整数表示服务器接收到的ii个推理任务被分配到的Pod的显卡编号。

样例输入

2 3 5
6 8
190 328 112
0 1
12 0
38 0
39 2
204 1

样例输出

0
1
1
0
0

样例解释

本例中有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号显卡

数据范围及约定

对于20%20\%的数据,满足n,q100,m10n,q \le 100, m\le 10

对于60%60\%的数据,满足n,m,q1000n,m,q \le 1000

对于100%100\%的数据,1n,q2×1051 \le n,q \le 2\times 10^51m10001\le m \le 10000ti1090\le t_i\le 10^90ki<m0 \le k_i < m1ci,ai1091\le c_i,a_i\le 10^9,所有输入数值均为非负整数。

提示

猜猜这题为什么叫K8s?

信息

ID
1579
难度
10
分类
(无)
标签
(无)
递交数
3
已通过
0
通过率
0%
上传者

相关

在下列比赛中:

2024春 悬赏令第三周