CF1198B.Welfare State

普及/提高-

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

There is a country with nn citizens. The ii-th of them initially has aia_{i} money. The government strictly controls the wealth of its citizens. Whenever a citizen makes a purchase or earns some money, they must send a receipt to the social services mentioning the amount of money they currently have.

Sometimes the government makes payouts to the poor: all citizens who have strictly less money than xx are paid accordingly so that after the payout they have exactly xx money. In this case the citizens don't send a receipt.

You know the initial wealth of every citizen and the log of all events: receipts and payouts. Restore the amount of money each citizen has after all events.

有一个国家,共有 nn 位公民。其中第 ii 位公民初始拥有 aia_{i} 元钱。政府对公民的财富实施严格管控。每当一位公民进行消费或获得收入时,都必须向社会保障部门提交一张收据,注明其当前拥有的金额。

有时政府会向贫困公民发放补贴:所有当前拥有的钱严格少于 xx 的公民都将获得一笔补贴,使其在补贴后恰好拥有 xx 元钱。在此类补贴事件中,公民无需提交收据。

你已知每位公民的初始财富,以及所有事件(包括收据和补贴)的日志。请还原所有事件结束后,每位公民各自拥有的钱数。

输入格式

The first line contains a single integer nn (1≤n≤2⋅1051 \le n \le 2 \cdot 10^{5}) — the numer of citizens.

The next line contains nn integers a1a_1, a2a_2, ..., ana_n (0≤ai≤1090 \le a_{i} \le 10^{9}) — the initial balances of citizens.

The next line contains a single integer qq (1≤q≤2⋅1051 \le q \le 2 \cdot 10^{5}) — the number of events.

Each of the next qq lines contains a single event. The events are given in chronological order.

Each event is described as either 1 p x (1≤p≤n1 \le p \le n, 0≤x≤1090 \le x \le 10^{9}), or 2 x (0≤x≤1090 \le x \le 10^{9}). In the first case we have a receipt that the balance of the pp-th person becomes equal to xx. In the second case we have a payoff with parameter xx.

第一行包含一个整数 nn(1≤n≤2⋅1051 \le n \le 2 \cdot 10^{5})—— 表示市民人数。

第二行包含 nn 个整数 a1a_1, a2a_2, ..., ana_n(0≤ai≤1090 \le a_{i} \le 10^{9})—— 表示每位市民的初始余额。

第三行包含一个整数 qq(1≤q≤2⋅1051 \le q \le 2 \cdot 10^{5})—— 表示事件总数。

接下来的 qq 行,每行描述一个事件。这些事件按时间顺序给出。

每个事件的形式为以下二者之一:1 p x(其中 1≤p≤n1 \le p \le n, 0≤x≤1090 \le x \le 10^{9})或 2 x(其中 0≤x≤1090 \le x \le 10^{9})。在第一种情况下,表示第 pp 位市民的余额更新为 xx;在第二种情况下,表示一次参数为 xx 的支付操作。

输出格式

Print nn integers — the balances of all citizens after all events.

输出 nn 个整数——所有事件发生后每位市民的余额。

输入输出样例

  • 输入#1

    4
    1 2 3 4
    3
    2 3
    1 2 2
    2 1

    输出#1

    3 2 3 4
  • 输入#2

    5
    3 50 2 1 10
    3
    1 2 0
    2 8
    1 3 20

    输出#2

    8 8 20 8 10

说明/提示

In the first example the balances change as follows: 1 2 3 4 →\rightarrow 3 3 3 4 →\rightarrow 3 2 3 4 →\rightarrow 3 2 3 4

In the second example the balances change as follows: 3 50 2 1 10 →\rightarrow 3 0 2 1 10 →\rightarrow 8 8 8 8 10 →\rightarrow 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

输入解题思路,AI测评打分。不知道怎么写?

首页