Codeforces Round 576 (Div. 1) |
---|
Закончено |
В некотором государстве живёт $$$n$$$ граждан. Количество денег у $$$i$$$-го из них равно $$$a_{i}$$$. Государство внимательно следит за благосостоянием своих граждан. Если гражданин совершил покупку или заработал денег, то он обязан отправить в социальные службы справку об изменении баланса с указанием текущего количества денег. Иногда государство делает выплаты малоимущим гражданам: всем гражданам, у кого текущее количество денег строго меньше $$$x$$$, выплачивают пособие такого размера, чтобы количество денег у них стало ровно $$$x$$$. В таком случае гражданин не должен отправлять справку о изменении баланса.
Вам известно начальное количество денег у каждого гражданина, а также лог всех действий в социальных службах: получение справок и выплаты малоимущим. Восстановите количество денег у каждого гражданина после всех событий.
В первой строке записано одно число $$$n$$$ ($$$1 \le n \le 2 \cdot 10^{5}$$$) — количество граждан.
В следующей строке записаны $$$n$$$ чисел, разделённых пробелами, $$$a_1$$$, $$$a_2$$$, ..., $$$a_n$$$ ($$$0 \le a_{i} \le 10^{9}$$$) — начальные балансы граждан.
В следующей строке записано одно число $$$q$$$ ($$$1 \le q \le 2 \cdot 10^{5}$$$) — длина лога действий. В следующих $$$q$$$ строках записаны действия в хронологическом порядке, по одному в строке.
Описание одного действия имеет либо вид 1 p x ($$$1 \le p \le n$$$, $$$0 \le x \le 10^{9}$$$), либо вид 2 x ($$$0 \le x \le 10^{9}$$$). В первом случае была получена справка о том, что новый баланс гражданина $$$p$$$ равен $$$x$$$. Во втором — была проведена выплата с параметром $$$x$$$.
Выведите $$$n$$$ чисел, разделённых пробелами, — балансы всех граждан после всех событий.
4 1 2 3 4 3 2 3 1 2 2 2 1
3 2 3 4
5 3 50 2 1 10 3 1 2 0 2 8 1 3 20
8 8 20 8 10
Процесс изменения балансов в первом примере: 1 2 3 4 $$$\rightarrow$$$ 3 3 3 4 $$$\rightarrow$$$ 3 2 3 4 $$$\rightarrow$$$ 3 2 3 4
Процесс изменения балансов во втором примере: 3 50 2 1 10 $$$\rightarrow$$$ 3 0 2 1 10 $$$\rightarrow$$$ 8 8 8 8 10 $$$\rightarrow$$$ 8 8 20 8 10
Название |
---|