禁止套娃

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

Description

俄罗斯套娃由若干个从小到大的娃娃套成,一个完整的套娃包含大小从\(1\)到\(m\)的娃娃各一个,否则它是不完整的。
你可以把两个(可能不完整)的套娃合并为一个套娃,方法是拆开适当的几个娃娃后按从小到大的顺序重新套起来,需注意:
1.你只能把小娃娃套在大娃娃里面,不能出现相等大小。
2.你只能在合并两个套娃的时候拆开娃娃,拆开了就必须装回去,合并完只剩一个套娃。
3.一旦一个娃娃属于一个套娃,它就永远属于这个套娃,不能被取出,只能在合并的时候短暂被取出。
有\(n\)个娃娃排成一行,你只能合并相邻的套娃,求将所有娃娃套成若干个完整套娃(大小可能不同),所需拆开娃娃的最少次数。

Format

Input

每个测试点仅包含一组测试数据。
第一行一个整数\(n(1<=n<=500)\)。
接下来一行\(n\)个整数,表示每个套娃的大小,在\(1\)到\(500\)之间。

Output

输出最少的拆开次数,如果最终不能组成若干个完整套娃,输出"impossible"(不含引号)。

Sample 1

Input

7
1 2 3 2 4 1 3

Output

7

Sample 2

Input

7
1 2 1 2 4 3 3

Output

impossible

Limitation

3s, 1GB for each test case.

Subtasks

子任务1(25分):\(n<=8\)。
子任务2(25分):套娃大小不超过\(2\)。
子任务3(25分):\(n<=50\)。
子任务4(25分):无附加限制。

Source

Vijos Original

厦大附中模拟赛第七场

未参加
状态
已结束
规则
OI
题目
3
开始于
2021-07-08 07:00
结束于
2021-07-08 10:30
持续时间
3.5 小时
主持人
参赛人数
11