传统题 1000ms 256MiB

粉刷匠

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

附加文件

题目描述

windy有一条木板需要被粉刷。这条木板被分为 N 个格子。第 i 个格子要被刷成颜色 Ci (0 ≤ Ci ≤ 10^5 ,若 Ci = 0 表示该格子要保留木板原色,不要被粉刷)。

windy的粉刷分为若干天。每天可以选择木板上任意多个不重叠的区间(每个区间由连续的若干个格子组成)进行粉刷,并且每个区间粉刷的颜色互不相同。

同一天每个格子最多只能被粉刷一次。

如果某个格子之前被粉刷过,则再次粉刷时会覆盖之前的颜色。

由于颜色调配非常麻烦,所以在整个工期内,任意一种颜色只会调配一次,即只能在一个区间内使用一次。

如果windy要把全部格子粉刷成指定颜色,他最少需要多少天完成?如果无法完成任务,则输出 -1

输入格式

第一行包含一个整数 N

接下来有 N 行,每行一个整数 Ci

输出格式

包含一个整数,表示最少天数;如果无法完成任务,则输出 -1

样例1输入

8
0
1
3
5
1
0
2
2

样例1输出

2

样例1解释

初始:

0 0 0 0 0 0 0 0

第一天粉刷后:

0 1 1 1 1 0 2 2

第二天粉刷后:

0 1 3 5 1 0 2 2

样例2输入

8
0
1
3
0
1
0
2
2

样例2输出

-1

数据范围

100%的数据,满足 1 ≤ N ≤ 10^5 。

20250331

未参加
状态
已结束
规则
OI
题目
5
开始于
2025-3-31 8:30
结束于
2025-3-31 12:00
持续时间
3.5 小时
主持人
参赛人数
9