CF1198B.Welfare State
普及/提高-
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
There is a country with n citizens. The i-th of them initially has ai 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 x are paid accordingly so that after the payout they have exactly x 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.
有一个国家,共有 n 位公民。其中第 i 位公民初始拥有 ai 元钱。政府对公民的财富实施严格管控。每当一位公民进行消费或获得收入时,都必须向社会保障部门提交一张收据,注明其当前拥有的金额。
有时政府会向贫困公民发放补贴:所有当前拥有的钱严格少于 x 的公民都将获得一笔补贴,使其在补贴后恰好拥有 x 元钱。在此类补贴事件中,公民无需提交收据。
你已知每位公民的初始财富,以及所有事件(包括收据和补贴)的日志。请还原所有事件结束后,每位公民各自拥有的钱数。
输入格式
The first line contains a single integer n (1≤n≤2⋅105) — the numer of citizens.
The next line contains n integers a1, a2, ..., an (0≤ai≤109) — the initial balances of citizens.
The next line contains a single integer q (1≤q≤2⋅105) — the number of events.
Each of the next q lines contains a single event. The events are given in chronological order.
Each event is described as either 1 p x (1≤p≤n, 0≤x≤109), or 2 x (0≤x≤109). In the first case we have a receipt that the balance of the p-th person becomes equal to x. In the second case we have a payoff with parameter x.
第一行包含一个整数 n(1≤n≤2⋅105)—— 表示市民人数。
第二行包含 n 个整数 a1, a2, ..., an(0≤ai≤109)—— 表示每位市民的初始余额。
第三行包含一个整数 q(1≤q≤2⋅105)—— 表示事件总数。
接下来的 q 行,每行描述一个事件。这些事件按时间顺序给出。
每个事件的形式为以下二者之一:1 p x(其中 1≤p≤n, 0≤x≤109)或 2 x(其中 0≤x≤109)。在第一种情况下,表示第 p 位市民的余额更新为 x;在第二种情况下,表示一次参数为 x 的支付操作。
输出格式
Print n integers — the balances of all citizens after all events.
输出 n 个整数——所有事件发生后每位市民的余额。
输入输出样例
输入#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 → 3 3 3 4 → 3 2 3 4 → 3 2 3 4
In the second example the balances change as follows: 3 50 2 1 10 → 3 0 2 1 10 → 8 8 8 8 10 → 8 8 20 8 10
在第一个例子中,余额变化如下:1 2 3 4 → 3 3 3 4 → 3 2 3 4 → 3 2 3 4
在第二个例子中,余额变化如下:3 50 2 1 10 → 3 0 2 1 10 → 8 8 8 8 10 → 8 8 20 8 10
输入解题思路,AI测评打分。不知道怎么写?