#P2108. Median Smoothing

Median Smoothing

题目描述

最简单的中值滤波是对一个序列 a1,a2,...,ana_1,a_2,...,a_n,转换为一个新的序列 b1,b2,...,bnb_1,b_2,...,b_n,规则如下:

  • b1=a1,bn=anb_1=a_1,b_n=a_n,即第一个和最后一个元素不变。
  • bi(1<i<n)b_i(1<i<n)ai1,ai,ai+1a_{i-1},a_i,a_{i+1} 的中位数。

求对于一个 0101 序列 aa,它经过几次操作会变成“稳定的”,或者永远稳定不了。

输入格式

第一行一个整数 nn,表示序列的长度。

接下来一行 nn 个整数 a1,a2,...,ana_1,a_2,...,a_n,表示原序列。

输出格式

假如该序列永远也不会稳定,则输出 1-1

否则输出,一行一个整数,表示需要多少次操作原序列才会稳定,并在下一行输出最终稳定的序列。

4
0 0 1 1
0
0 0 1 1
5
0 1 0 1 0
2
0 0 0 0 0

经过两次操作:01010001000000001010\longrightarrow00100\longrightarrow000000000000000 显然是稳定的序列。