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