CF1811C.Restore the Array

普及-

通过率:0%

时间限制:1.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Kristina had an array aa of length nn consisting of non-negative integers.

She built a new array bb of length n−1n-1, such that bi=max⁡(ai,ai+1)b_i = \max(a_i, a_{i+1}) (1≤i≤n−11 \le i \le n-1).

For example, suppose Kristina had an array aa = [3,0,4,0,53, 0, 4, 0, 5] of length 55. Then she did the following:

  1. Calculated b1=max⁡(a1,a2)=max⁡(3,0)=3b_1 = \max(a_1, a_2) = \max(3, 0) = 3;
  2. Calculated b2=max⁡(a2,a3)=max⁡(0,4)=4b_2 = \max(a_2, a_3) = \max(0, 4) = 4;
  3. Calculated b3=max⁡(a3,a4)=max⁡(4,0)=4b_3 = \max(a_3, a_4) = \max(4, 0) = 4;
  4. Calculated b4=max⁡(a4,a5)=max⁡(0,5)=5b_4 = \max(a_4, a_5) = \max(0, 5) = 5.

As a result, she got an array bb = [3,4,4,53, 4, 4, 5] of length 44.

You only know the array bb. Find any matching array aa that Kristina may have originally had.

克里斯蒂娜有一个长度为 nn 的非负整数数组 aa。

她构造了一个新数组 bb,长度为 n−1n-1,其中 bi=max⁡(ai,ai+1)b_i = \max(a_i, a_{i+1})(1≤i≤n−11 \le i \le n-1)。

例如,假设克里斯蒂娜最初的数组 a=[3,0,4,0,5]a = [3, 0, 4, 0, 5],长度为 55。那么她进行了如下操作:

  1. 计算 b1=max⁡(a1,a2)=max⁡(3,0)=3b_1 = \max(a_1, a_2) = \max(3, 0) = 3;
  2. 计算 b2=max⁡(a2,a3)=max⁡(0,4)=4b_2 = \max(a_2, a_3) = \max(0, 4) = 4;
  3. 计算 b3=max⁡(a3,a4)=max⁡(4,0)=4b_3 = \max(a_3, a_4) = \max(4, 0) = 4;
  4. 计算 b4=max⁡(a4,a5)=max⁡(0,5)=5b_4 = \max(a_4, a_5) = \max(0, 5) = 5。

最终得到数组 b=[3,4,4,5]b = [3, 4, 4, 5],长度为 44。

你仅知道数组 bb。请找出任意一个可能的原始数组 aa,使得由它按上述规则生成的数组恰好为 bb。

输入格式

The first line of input data contains a single integer tt (1≤t≤1041 \le t \le 10^4) — the number of test cases.

The description of the test cases follows.

The first line of each test case contains one integer nn (2≤n≤2⋅1052 \le n \le 2 \cdot 10^5) — the number of elements in the array aa that Kristina originally had.

The second line of each test case contains exactly n−1n-1 non-negative integer — elements of array bb (0≤bi≤1090 \le b_i \le 10^9).

It is guaranteed that the sum of nn over all test cases does not exceed 2⋅1052 \cdot 10^5, and that array bb was built correctly from some array aa.

输入数据的第一行包含一个整数 tt(1≤t≤1041 \le t \le 10^4)—— 测试用例的数量。

随后是各测试用例的描述。

每个测试用例的第一行包含一个整数 nn(2≤n≤2⋅1052 \le n \le 2 \cdot 10^5)—— Kristina 原始数组 aa 的元素个数。

每个测试用例的第二行包含恰好 n−1n-1 个非负整数 —— 数组 bb 的元素(0≤bi≤1090 \le b_i \le 10^9)。

保证所有测试用例的 nn 之和不超过 2⋅1052 \cdot 10^5,且数组 bb 是由某个数组 aa 正确构造得到的。

输出格式

For each test case on a separate line, print exactly nn non-negative integers — the elements of the array aa that Kristina originally had.

If there are several possible answers — output any of them.

对于每个测试用例,在单独的一行上,精确输出 nn 个非负整数——即克里斯蒂娜最初所拥有的数组 aa 的元素。

如果存在多个可能的答案,则输出其中任意一个即可。

输入输出样例

  • 输入#1

    11
    5
    3 4 4 5
    4
    2 2 1
    5
    0 0 0 0
    6
    0 3 4 4 3
    2
    10
    4
    3 3 3
    5
    4 2 5 5
    4
    3 3 3
    4
    2 1 0
    3
    4 4
    6
    8 1 3 5 10

    输出#1

    3 0 4 0 5
    2 2 1 1
    0 0 0 0 0
    0 0 3 4 3 3
    10 10
    3 3 3 1
    4 2 2 5 5
    3 3 3 3
    2 1 0 0
    2 4 4
    8 1 1 3 5 10

说明/提示

The first test case is explained in the problem statement.

In the second test case, we can get array bb = [2,2,12, 2, 1] from the array aa = [2,2,1,12, 2, 1, 1]:

  • b1=max⁡(a1,a2)=max⁡(2,2)=2b_1 = \max(a_1, a_2) = \max(2, 2) = 2;
  • b2=max⁡(a2,a3)=max⁡(2,1)=2b_2 = \max(a_2, a_3) = \max(2, 1) = 2;
  • b3=max⁡(a3,a4)=max⁡(1,1)=1b_3 = \max(a_3, a_4) = \max(1, 1) = 1.

In the third test case, all elements of the array bb are zeros. Since each bib_i is the maximum of two adjacent elements of array aa, array aa can only consist entirely of zeros.

In the fourth test case, we can get array bb = [0,3,4,4,30, 3, 4, 4, 3] from the array aa = [0,0,3,4,3,30, 0, 3, 4, 3, 3] :

  • b1=max⁡(a1,a2)=max⁡(0,0)=0b_1 = \max(a_1, a_2) = \max(0, 0) = 0;
  • b2=max⁡(a2,a3)=max⁡(0,3)=3b_2 = \max(a_2, a_3) = \max(0, 3) = 3;
  • b3=max⁡(a3,a4)=max⁡(3,4)=4b_3 = \max(a_3, a_4) = \max(3, 4) = 4;
  • b4=max⁡(a4,a5)=max⁡(4,3)=4b_4 = \max(a_4, a_5) = \max(4, 3) = 4;
  • b5=max⁡(a5,a6)=max⁡(3,3)=3b_5 = \max(a_5, a_6) = \max(3, 3) = 3.

第一个测试用例在题目描述中已作解释。

在第二个测试用例中,我们可以从数组 aa = [2,2,1,12, 2, 1, 1] 得到数组 bb = [2,2,12, 2, 1]:

  • b1=max⁡(a1,a2)=max⁡(2,2)=2b_1 = \max(a_1, a_2) = \max(2, 2) = 2;
  • b2=max⁡(a2,a3)=max⁡(2,1)=2b_2 = \max(a_2, a_3) = \max(2, 1) = 2;
  • b3=max⁡(a3,a4)=max⁡(1,1)=1b_3 = \max(a_3, a_4) = \max(1, 1) = 1。

在第三个测试用例中,数组 bb 的所有元素均为零。由于每个 bib_i 都是数组 aa 中两个相邻元素的最大值,因此数组 aa 只能全部由零构成。

在第四个测试用例中,我们可以从数组 aa = [0,0,3,4,3,30, 0, 3, 4, 3, 3] 得到数组 bb = [0,3,4,4,30, 3, 4, 4, 3]:

  • b1=max⁡(a1,a2)=max⁡(0,0)=0b_1 = \max(a_1, a_2) = \max(0, 0) = 0;
  • b2=max⁡(a2,a3)=max⁡(0,3)=3b_2 = \max(a_2, a_3) = \max(0, 3) = 3;
  • b3=max⁡(a3,a4)=max⁡(3,4)=4b_3 = \max(a_3, a_4) = \max(3, 4) = 4;
  • b4=max⁡(a4,a5)=max⁡(4,3)=4b_4 = \max(a_4, a_5) = \max(4, 3) = 4;
  • b5=max⁡(a5,a6)=max⁡(3,3)=3b_5 = \max(a_5, a_6) = \max(3, 3) = 3。

输入解题思路,AI测评打分。不知道怎么写?

首页