CF381B Sereja and Stairs

题目描述

Sereja 非常喜欢整数序列。他尤其喜欢“阶梯”序列。 如果一个序列 $a_{1},a_{2},...,a_{|a|}$($|a|$ 表示序列的长度),存在一个下标 $i$ $(1 \leq i \leq |a|)$,使得以下条件成立: $$ a_{1}a_{|a|}。 $$ 则称该序列为“阶梯”序列。例如,序列 $[1, 2, 3, 2]$ 和 $[4, 2]$ 是阶梯序列,而 $[3, 1, 2]$ 不是。 Sereja 有 $m$ 张牌,每张牌上有一个数字。他想从这些牌中选出一些,依次排成一行,使其成为一个阶梯序列。你能帮他选出最多的牌来组成阶梯序列吗?

输入格式

第一行包含一个整数 $m$ $(1 \leq m \leq 10^{5})$,表示 Sereja 拥有的牌数。 第二行包含 $m$ 个整数 $b_{i}$ $(1 \leq b_{i} \leq 5000)$,依次表示每张牌上的数字。

输出格式

输出两行: 第一行输出你能放在桌上的牌的最大数量。 第二行输出组成阶梯序列的这些牌的排列。

说明/提示

由 ChatGPT 5 翻译