CF1375A.Sign Flipping

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

Sign Flipping

题目描述

给定 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n,其中 nn 是奇数。你可以选择将其中一些(可以全部或一个也不选)数的符号翻转。你需要进行符号翻转,使得满足以下两个条件:

  1. 至少有 n12\frac{n - 1}{2} 个相邻差值 ai+1aia_{i + 1} - a_ii=1,2,,n1i = 1, 2, \dots, n - 1)大于等于 00
  2. 至少有 n12\frac{n - 1}{2} 个相邻差值 ai+1aia_{i + 1} - a_ii=1,2,,n1i = 1, 2, \dots, n - 1)小于等于 00

请找出任意一种合法的符号翻转方案。可以证明,在给定的限制条件下,至少存在一种满足要求的符号翻转方案。如果有多种方案,你可以输出任意一种。

输入格式

输入包含多组测试数据。第一行包含一个整数 tt1t5001 \le t \le 500),表示测试数据组数。

每组测试数据的第一行包含一个整数 nn3n993 \le n \le 99nn 为奇数),表示给定的整数个数。

第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n109ai109-10^9 \le a_i \le 10^9),表示这些整数。

保证所有测试数据中 nn 的总和不超过 1000010000

输出格式

对于每组测试数据,输出 nn 个整数 b1,b2,,bnb_1, b_2, \dots, b_n,表示翻转符号后的整数。bib_i 必须等于 aia_iai-a_i,并且对于所有相邻差值 bi+1bib_{i + 1} - b_ii=1,,n1i = 1, \dots, n - 1),至少有 n12\frac{n - 1}{2} 个是非负数,至少有 n12\frac{n - 1}{2} 个是非正数。

可以证明,在给定的限制条件下,至少存在一种满足要求的符号翻转方案。如果有多种方案,你可以输出任意一种。

说明/提示

在第一个测试样例中,差值 (4)(2)=2(-4) - (-2) = -2 是非正数,而 3(4)=73 - (-4) = 7 是非负数。

在第二个测试样例中,不需要翻转任何符号。所有 44 个差值都等于 00,既是非正数也是非负数。

在第三个测试样例中,7(4)7 - (-4)4(6)4 - (-6) 是非负数,而 (4)(2)(-4) - (-2)(6)7(-6) - 7 是非正数。

由 ChatGPT 4.1 翻译

样例

5
3
-2 4 3
5
1 1 1 1 1
5
-2 4 7 -6 4
9
9 7 -4 -2 1 -3 9 -4 -5
9
-4 1 9 4 8 9 5 1 -9
-2 -4 3
1 1 1 1 1
-2 -4 7 -6 4
-9 -7 -4 2 1 -3 -9 -4 -5
4 -1 -9 -4 -8 -9 -5 -1 9

在线编程 IDE

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