#4859. Somen Nagashi

0

Somen Nagashi

Somen Nagashi

题目描述

共有 NN 人参加一个名为 Flowing Noodles 的活动。人们排成一列,从前到后依次编号为 11 到 NN。 在活动中,下面的事件发生了 MM 次:

在时间 TiT_i,数量为 WiW_i 的面被放下。排在队首的人得到全部面(如果队列中无人,则无人得到)。该人随后离开队列,并在时间 Ti+SiT_i+S_i 回到他们在队列中的原始位置。

在时间 XX 回到队列中的人被视为在时间 XX 时在队列中。 在所有 MM 次事件结束后,报告每个人获得的面条总量。

输入格式

输入按照标准输入给出,格式如下: NN MM T1T_1 W1W_1 S1S_1 ⋮\vdots TMT_M WMW_M SMS_M

输出格式

输出 NN 行。 第 ii 行应包含第 ii 人获得的面条数量。

3 5
1 1 3
2 10 100
4 100 10000
10 1000 1000000000
100 1000000000 1
101
10
1000
3 1
1 1 1
1
0
0
1 8
1 1 1
2 2 2
3 3 3
4 4 4
5 5 5
6 6 6
7 7 7
8 8 8
15

提示

1≤N≤2×1051 \leq N \leq 2\times 10^5 1≤M≤2×1051 \leq M \leq 2\times 10^5 0 <T_1 <\ldots < T_M \leq 10^9 1≤Si≤1091 \leq S_i \leq 10^9 1≤Wi≤1091 \leq W_i \leq 10^9 所有输入值均为整数。事件按如下进行:

在时间 11,数量为 11 的面被放下。人 11、22 和 33 在队列中,队首的人,即人 11,得到面并离开队列。 在时间 22,数量为 1010 的面被放下。人 22 和 33 在队列中,队首的人,即人 22,得到面并离开队列。 在时间 44,人 11 回到队列。 在时间 44,数量为 100100 的面被放下。人 11 和 33 在队列中,队首的人,即人 11,得到面并离开队列。 在时间 1010,数量为 10001000 的面被放下。只有人 33 在队列中,队首的人,即人 33,得到面并离开队列。 在时间 100100,数量为 10000000001000000000 的面被放下。队列中无人,因此无人得到这些面。 在时间 102102,人 22 回到队列。 在时间 1000410004,人 11 回到队列。 在时间 10000000101000000010,人 33 回到队列。

人 11、22、33 分别获得的面条总量为 101101、1010 和 10001000。

标签: AtCoder|abc320E

来源

AtCoder|abc320E