vijos1098

maksyuki 发表于 oj 分类,标签:
0

描述

N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。

合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1,T2,…,TK, 则他们的身高满足T1<...<Ti>Ti+1>…>TK(1<=i<=K)。

你的任务是,已知所有N位同学的身高,计算最少需要几位同学出列,可以使得剩下的同学排成合唱队形。

格式

输入格式

输入的第一行是一个整数N(2<=N<=100),表示同学的总数。第一行有n个整数,用空格分隔,第i个整数Ti(130<=Ti<=230)是第i位同学的身高(厘米)。

输出格式

输出包括一行,这一行只包含一个整数,就是最少需要几位同学出列。

样例1

样例输入1[复制]

8186 186 150 200 160 130 197 220

样例输出1[复制]

4

限制

每个测试点1s

来源

NOIp 2004

 

题目类型:线性DP

算法分析:求解最长递增子序列和最长递减子序列的长度,然后枚举每一个位置i,找到分别以i为结尾和开始的最长递增子序列的长度和递减子序列的长度之和(自减1)的最大值maxval,最后直接用N减去maxval即可