Problem1585--时间片轮转调度算法

1585: 时间片轮转调度算法

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 6  Solved: 2
[Submit] [Status] [Web Board] [Creator:]

Description

时间片轮转法(Round-Robin,RR)主要用于分时系统中的进程调度。
为了实现轮转调度,系统把所有就绪进程按先入先出的原则排成一个队列。
新来的进程加到就绪队列末尾。每当执行进程调度时,进程调度程序总是选出就绪队列的队首进程,让它在CPU上运行一个时间片的时间。
若进程的执行时间不大于时间片长度,则执行完进程后会将它移除队列,否则会将它移动到就绪队列的末尾。
现在给定就绪队列中进程的请求时间和执行时间,请给出按照时间片轮转法所执行的进程顺序。

Input

多组输入。
第一行输入进程数n和时间片的大小m(1<=n<=1000,1<=m<=100)。
接下来n行每行输入两个整数ai bi,代表第i个进程的请求时间和执行所需的时间。

Output

按照时间顺序输出进程执行的顺序和开始执行的时间。

Sample Input

3 3
1 5
2 6
4 2

Sample Output

1 1
2 4
3 7
1 9
2 11

HINT

时间从0开始计时

Source/Category