Description
CPU通过循环调度法逐一处理任务,每个任务最多处理q毫秒(这个时间称为时间片)。如果q毫秒之后任务尚未处理完毕,那么该任务将被移动至队伍最末尾,CPU随即开始处理下一个任务。
Input
第一行:n q
其中n表示有多少个任务,q表示CPU时间片时长
接下来n行格式为name time
name表示任务名,time表示此任务需要多长时间执行
其中 1 <= n <= 100000, 1 <= q <= 1000, 1<= time <= 50000, 1<= name长度 <= 2
Output
按照任务完成的先后顺序输出各任务名以及结束时间
5 100
p1 150
p2 80
p3 200
p4 350
p5 20
p2 180
p5 400
p1 450
p3 550
p4 800