编程题
### 问题描述 小齐是一位出色的绘画艺术家,她决定尝试一种更为极简主义的绘画风格,将原本的二维画作变成了一维画作。 她的一维画作由一个长度为 $N$ 的颜色数组表示,颜色范围为 $1$ 到 $N$。小齐采用的绘画风格依然没有改变:她从一个空白的画布开始,逐渐叠加一系列“矩形”颜色区间,尽管在这个一维情境中,这些“矩形”实际上就是不相交的颜色区间。她确保每种颜色 $1 \ldots N$ 恰好使用一次,尽管最终有些颜色可能被完全覆盖。 然而,小齐的竞争对手小白似乎已经破解了她的绘画方法,采用了与前一个问题相似的策略:小白将绘制一组不相交的区间,等待它们干燥,然后再绘制另一组不相交的区间,依此类推。小白在整个过程中最多只能绘制每种颜色的一个区间。请计算小白复制给定一维小齐画作所需的最少回合数。 ### 输入格式 第一行输入一个整数 $N$ 表示颜色的数量。 接下来的 $N$ 行,每行包含一个整数,表示一维画作中每个位置的颜色,颜色的范围是 $0 \ldots N$,其中 $0$ 表示空白的位置。 ### 输出格式 输出一个整数,表示复制该画作所需的最少回合数。如果这不可能是小齐的真迹(即不能使用分层次序列的方式绘制),则输出 $-1$。 ### 样例输入 ``` 7 0 1 4 5 1 3 3 ``` ### 样例输出 ``` 2 ``` ### 评测数据规模 $1 \leq N \leq 100,000$。
查看答案
赣ICP备20007335号-2