CF1392B.Omkar and Infinity Clock

传统题 时间 2000 ms 内存 256 MiB 3 尝试 1 已通过 1 标签

Omkar and Infinity Clock

题目描述

因为被困在家里,Ray 感到非常无聊。为了打发时间,他请求 Lord Omkar 使用他的时间扭曲能力:Infinity Clock!然而,Lord Omkar 只会听从能够解决以下问题的凡人:

给定一个长度为 nn 的整数数组 aa,以及一个整数 kk。Lord Omkar 希望你对这个数组进行 kk 次如下操作。

一次操作定义如下:

  1. dd 为当前数组中的最大值。
  2. 对于每个 ii1in1 \leq i \leq n),将 aia_i 替换为 daid - a_i

你的目标是预测经过 kk 次操作后数组的内容。请帮助 Ray 确定最终的数组序列!

输入格式

每组测试包含多个测试用例。第一行包含测试用例数 tt1t1001 \leq t \leq 100)。接下来是每个测试用例的描述。

每个测试用例的第一行包含两个整数 nnkk1n2×105,1k10181 \leq n \leq 2 \times 10^5, 1 \leq k \leq 10^{18}),分别表示数组的长度和需要执行的操作次数。

第二行包含 nn 个整数 a1,a2,...,ana_1, a_2, ..., a_n109ai109-10^9 \leq a_i \leq 10^9),表示初始数组的内容。

保证所有测试用例中 nn 的总和不超过 2×1052 \times 10^5

输出格式

对于每个测试用例,输出经过 kk 次操作后的数组 aa

说明/提示

在第一个测试用例中,数组变化如下:

  • 初始数组为 [199,192][-199, 192]d=192d = 192
  • 操作后,数组变为 [d(199),d192]=[391,0][d-(-199), d-192] = [391, 0]

由 ChatGPT 4.1 翻译

样例

3
2 1
-199 192
5 19
5 -1 4 2 0
1 2
69
391 0
0 6 1 3 5
0

在线编程 IDE

建议全屏模式获得最佳体验