Олимпиадный тренинг

Задача . B. Социальное государство


В некотором государстве живёт \(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\) чисел, разделённых пробелами, — балансы всех граждан после всех событий.

Примечание

Процесс изменения балансов в первом примере: 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


Примеры
Входные данныеВыходные данные
1 4
1 2 3 4
3
2 3
1 2 2
2 1
3 2 3 4
2 5
3 50 2 1 10
3
1 2 0
2 8
1 3 20
8 8 20 8 10

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w644
Комментарий учителя