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 翻译