AT_s8pc_3_f 寿司

题目描述

有 $N$ 名顾客在寿司店里。每位顾客都有一个编号,分别为 $1,2,3,\dots,N$。 厨师将进行 $Q$ 次操作。 在第 $i$ 次操作中,进行如下步骤: 1. 厨师从顾客 $1,2,3,\dots,a_i$ 中,选出吃过寿司盘数最少的人。如果有多个人盘数相同,则选择编号最小的那个人。 2. 厨师将寿司递给被选中的那个人。 3. 被选中的顾客吃掉寿司。 4. 步骤 1~3 重复 $b_i$ 次。 请在所有 $Q$ 次操作结束后,计算每个人吃过的寿司盘数。

输入格式

输入通过标准输入给出,格式如下: > $N\ Q$ > $a_1\ b_1$ > $a_2\ b_2$ > $\vdots$ > $a_Q\ b_Q$ - 第一行包含两个整数 $N$ 和 $Q$,表示顾客数量和操作次数,以空格分隔。 - 接下来的 $Q$ 行,每行包含两个整数 $a_i$ 和 $b_i$,以空格分隔。

输出格式

请按如下格式输出: - 输出 $N$ 行。 - 第 $i$ 行输出顾客 $i$ 吃过的寿司盘数。

说明/提示

### 限制条件 - $3 \leq N, Q \leq 100,\!000$ - $1 \leq a_i \leq N$ - $1 \leq b_i \leq 10^{12}$ - 最终每个人的寿司盘数都不会超过 $2 \times 10^{13}$。 ### 子任务 子任务1 \[60 分\] - $N, Q \leq 100$ - $b_i = 1$ 子任务2 \[400 分\] - $N, Q \leq 100$ - $b_i \leq 10^{12}$ 子任务3 \[240 分\] - $N, Q \leq 100,\!000$ - $b_i = 1$ 子任务4 \[500 分\] - 无额外限制。 ### 样例解释 1 每位顾客吃过的寿司盘数变化如下: | 操作次数 | 客1 | 客2 | 客3 | 客4 | 客5 | 客6 | 客7 | 客8 | 客9 | |:--------:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:| | 第1次操作 | 3 | 2 | 2 | 2 | 2 | 0 | 0 | 0 | 0 | | 第2次操作 | 3 | 2 | 2 | 2 | 2 | 2 | 1 | 1 | 0 | | 第3次操作 | 4 | 4 | 4 | 4 | 2 | 2 | 1 | 1 | 0 | 由 ChatGPT 4.1 翻译