CF1146E Hot is Cold
题目描述
给定一个包含 $n$ 个整数的数组 $a_1, a_2, \ldots, a_n$。
你将进行 $q$ 次操作。在第 $i$ 次操作中,你会得到一个符号 $s_i$("")和一个数 $x_i$。
你需要构造一个新数组 $b$,其中 $b_j = -a_j$,如果 $a_j\ s_i\ x_i$;否则 $b_j = a_j$(也就是说,如果 $s_i$ 是 ">",那么所有满足 $a_j > x_i$ 的 $a_j$ 都会被取反)。完成所有替换后,将 $a$ 赋值为 $b$。
你需要输出所有操作结束后,最终的数组。
输入格式
第一行包含两个整数 $n, q$($1 \leq n, q \leq 10^5$),分别表示整数的数量和操作次数。
第二行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$($-10^5 \leq a_i \leq 10^5$),表示数组中的元素。
接下来的 $q$ 行,每行包含一个字符和一个整数 $s_i, x_i$($s_i \in \{\},\ -10^5 \leq x_i \leq 10^5$),表示一次操作。
输出格式
输出 $n$ 个整数 $c_1, c_2, \ldots, c_n$,表示所有操作结束后数组的最终状态。
说明/提示
在第一个样例中,数组的变化过程如下:
- 初始:$[-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]$
- $> 2$:$[-5, -4, -3, -2, -1, 0, 1, 2, -3, -4, -5]$
- $> -4$:$[-5, -4, 3, 2, 1, 0, -1, -2, 3, -4, -5]$
- $< 5$:$[5, 4, -3, -2, -1, 0, 1, 2, -3, 4, 5]$
由 ChatGPT 4.1 翻译