CF1635B.Avoid Local Maximums

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

You are given an array aa of size nn . Each element in this array is an integer between 11 and 10910^9 .

You can perform several operations to this array. During an operation, you can replace an element in the array with any integer between 11 and 10910^9 .

Output the minimum number of operations needed such that the resulting array doesn't contain any local maximums, and the resulting array after the operations.

An element aia_i is a local maximum if it is strictly larger than both of its neighbors (that is, ai>ai1a_i > a_{i - 1} and ai>ai+1a_i > a_{i + 1} ). Since a1a_1 and ana_n have only one neighbor each, they will never be a local maximum.

输入格式

Each test contains multiple test cases. The first line will contain a single integer tt (1t10000)(1 \leq t \leq 10000) — the number of test cases. Then tt test cases follow.

The first line of each test case contains a single integer nn (2n2105)(2 \leq n \leq 2 \cdot 10^5) — the size of the array aa .

The second line of each test case contains nn integers a1,a2,,ana_1, a_2, \ldots ,a_n (1ai109)(1 \leq a_i \leq 10^9) , the elements of array.

It is guaranteed that the sum of nn over all test cases does not exceed 21052 \cdot 10^5 .

输出格式

For each test case, first output a line containing a single integer mm — minimum number of operations required. Then ouput a line consist of nn integers — the resulting array after the operations. Note that this array should differ in exactly mm elements from the initial array.

If there are multiple answers, print any.

输入输出样例

  • 输入#1

    5
    3
    2 1 2
    4
    1 2 3 1
    5
    1 2 1 2 1
    9
    1 2 1 3 2 3 1 2 1
    9
    2 1 3 1 3 1 3 1 3

    输出#1

    0
    2 1 2
    1
    1 3 3 1
    1
    1 2 2 2 1
    2
    1 2 3 3 2 3 3 2 1
    2
    2 1 3 3 3 1 1 1 3

说明/提示

In the first example, the array contains no local maximum, so we don't need to perform operations.

In the second example, we can change a2a_2 to 33 , then the array don't have local maximums.

首页