已结束 GESP欢乐赛 #17

A1782 | 海贼宝藏密码

时间限制1s
内存限制256MB
通过 / 提交0/0

题目描述

时限 :1s
内存限制: 256MB

海贼王薯片准备将世界各地抢来的宝藏放在一个巨大的保险柜中。
保险箱的密码由 $n$ 个正整数组成,$n$ 最大为 1000。王薯片很喜欢逐渐变大的东西,例如烟花,膨胀的气球,憋气的河豚等等。所以王薯片的密码也是一串逐渐变大的数字 ,即 $A_1$ < $A_2$ < ... < $An$ (严格递增)

但是王薯片记性很不好,他记不太住这 $n$ 个数的密码。所以他想尽可能地简化密码。

王薯片简化密码的方式如下,找到密码序列的其中一段 连续 的子序列然后挖空,如果当前序列还原密码的方式是唯一的,那么就说明简化成功。

例如 :
$n = 5$ 密码 是 $[2 ,4, 5, 6 ,8]$ ,那么 王薯片可以挖空成为$[2,4,\_,6,8]$ ,这样因为序列是递增的,所以还原方法只能在挖空处填上 $5$。但是不能挖空成为 $[2,4,\_,\_,8]$这样还原密码就有可能是 $[2,4,5,7,8]$、 $[2,4,6,7,8]$、 $[2,4,5,6,8]$ 三种可能,这样的简化是失败的。

王薯片很懒,他只想挖空一次。他现在想知道最少需要记住多少个密码数字?

输入格式

输入第一行一个正整数 $n$ 表示密码的长度。$(1<=n<=1000)$
输入第二行 $n$ 个正整数 $A_i$ 表示密码数字,数据保证($1<=$$A_1$ < $A_2$ < ... < $An$ $< =1000$)

输出格式

输出第一行一个正整数表示经过简化后最短需要记忆的密码数字个数是多少。

输入输出样例

输入 #1
5
2 4 5 6 7
输出 #1
3
输入 #2
5
1 2 3 4 5
输出 #2
1
C++ 编辑器
输入
输出