CF1392B Omkar and Infinity Clock
题目描述
因为被困在家里,Ray 感到非常无聊。为了打发时间,他请求 Lord Omkar 使用他的时间扭曲能力:Infinity Clock!然而,Lord Omkar 只会听从能够解决以下问题的凡人:
给定一个长度为 $n$ 的整数数组 $a$,以及一个整数 $k$。Lord Omkar 希望你对这个数组进行 $k$ 次如下操作。
一次操作定义如下:
1. 设 $d$ 为当前数组中的最大值。
2. 对于每个 $i$($1 \leq i \leq n$),将 $a_i$ 替换为 $d - a_i$。
你的目标是预测经过 $k$ 次操作后数组的内容。请帮助 Ray 确定最终的数组序列!
输入格式
每组测试包含多个测试用例。第一行包含测试用例数 $t$($1 \leq t \leq 100$)。接下来是每个测试用例的描述。
每个测试用例的第一行包含两个整数 $n$ 和 $k$($1 \leq n \leq 2 \times 10^5, 1 \leq k \leq 10^{18}$),分别表示数组的长度和需要执行的操作次数。
第二行包含 $n$ 个整数 $a_1, a_2, ..., a_n$($-10^9 \leq a_i \leq 10^9$),表示初始数组的内容。
保证所有测试用例中 $n$ 的总和不超过 $2 \times 10^5$。
输出格式
对于每个测试用例,输出经过 $k$ 次操作后的数组 $a$。
说明/提示
在第一个测试用例中,数组变化如下:
- 初始数组为 $[-199, 192]$,$d = 192$。
- 操作后,数组变为 $[d-(-199), d-192] = [391, 0]$。
由 ChatGPT 4.1 翻译