#D0926. 大厅里的窗口

大厅里的窗口

题目描述

政务大厅里有 nn 个窗口。第 ii 个窗口同时最多服务 aia_i 人,每名群众办理 bib_i 分钟后离开。

现在有 mm 名群众同时到达,并按到达的先后顺序依次选择窗口。每名群众都会选择“预计等待时间最短”的窗口:

  • 如果窗口里还能容纳(正在办理的群众少于 aia_i),等待时间记为 00
  • 否则需要等里面的人离开,第一批离开要等 bib_i 分钟,之后每多等一批再增加 bib_i 分钟。

如果两个窗口的等待时间相同,群众选择编号较小的窗口。

规定在所有人选完窗口之前,没有人离开大厅。请输出此时每个窗口外排队的人数。

输入格式

第一行包含两个整数 nnmm,分别表示窗口的数量和群众数量。

接下来 nn 行,每行两个正整数 aia_ibib_i,含义如上所述。

输出格式

输出一行 nn 个整数,依次表示每个窗口外排队的人数,相邻两个数之间用一个空格隔开。

样例

2 10
1 2
3 5
3 3
3 25
2 4
1 6
5 3
4 1 12
3 25
5 3
2 4
1 6
12 4 1

样例解释

样例 1 中,1 号窗口先接待 1 人、2 号窗口先接待 3 人;之后 1 号窗口每 2 分钟、2 号窗口每 5 分钟释放一批名额。第 10 名群众等待 6 分钟进入 1 号窗口,最终两个窗口外各有 33 人。

样例 2 中,前三批名额被占满后,群众继续按等待时间排队,三个窗口外分别有 4,1,124,1,12 人。

样例 3 将样例 2 的窗口按原第 3、1、2 个的顺序重新编号。本例中,对应窗口的排队人数不变,按新编号依次输出 12,4,112,4,1

数据范围与约定

子任务 分值 限制
11 3030 1n,m10001\le n,m\le 10001ai,bi10001\le a_i,b_i\le 1000
22 2020 1n1051\le n\le 10^51m1051\le m\le 10^51ai,bi1091\le a_i,b_i\le 10^9
33 5050 1n1051\le n\le 10^51m1091\le m\le 10^91ai,bi1091\le a_i,b_i\le 10^9

对于 100%100\% 的数据,1n1051\le n\le 10^51m1091\le m\le 10^91ai,bi1091\le a_i,b_i\le 10^9