#P1117. 信封整理

    ID: 129 传统题 1000ms 256MiB 尝试: 0 已通过: 0难度: 普及 ← 上一题 下一题 → 随机一题 上传者: 标签 贪心 模拟 分段
显示设置

信封整理

题目背景

库房里堆着一排旧信封,每只信封上记着当天出库的件数。整理员整理时有个古怪的习惯:只有奇偶性相同的两只相邻信封,她才愿意抽走其中一只。

题目描述

库房里有 nn 只信封排成一排,从左到右第 ii 只信封上写着整数 aia_i。

一次操作:选择相邻的两只信封 ii 与 i+1i+1,若 aia_i 与 ai+1a_{i+1} 的奇偶性相同(同为奇数,或同为偶数),则可以把其中任意一只抽走,剩下的那只留在原处,它两侧的信封随之相邻。

整理员可以反复操作,直到再也抽不走任何信封。请回答:

  1. 最后最少能剩下多少只信封?
  2. 在所有使得剩余只数最少的方案中,按原来从左到右的顺序写出剩下的信封上的数字,得到的序列中字典序最小的那一个是怎样的?

输入格式

第一行一个整数 nn。

第二行 nn 个整数 a1,a2,…,ana_1, a_2, \dots, a_n。

输出格式

第一行一个整数 kk,表示最少剩余只数。

第二行 kk 个整数,用空格分隔,表示字典序最小的剩余数字序列。

输入输出样例 #1

输入 #1

5
1 3 2 4 7

输出 #1

3
1 2 7

说明

奇偶性依次为「奇奇偶偶奇」,前后相邻的两只信封里,只有 (1,3)(1,3) 与 (2,4)(2,4) 这两对奇偶性相同。抽走 33 与 44 后剩下 1,2,71,2,7;也可以留下 3,2,73,2,7 或 1,4,71,4,7,其中 1,2,71,2,7 字典序最小。

输入输出样例 #2

输入 #2

4
2 5 4 9

输出 #2

4
2 5 4 9

说明

相邻信封的奇偶性两两不同,一次操作也做不了。

数据范围与约定

  • 对于 30%30\% 的数据,n≤10n \le 10,1≤ai≤1001 \le a_i \le 100。
  • 对于另外 30%30\% 的数据,所有 aia_i 的奇偶性相同。
  • 对于 100%100\% 的数据,1≤n≤1061 \le n \le 10^{6},1≤ai≤1091 \le a_i \le 10^{9}。