//参考洛谷题解区第一个
//https://www.luogu.org/problemnew/solution/P1091
//考点核心步骤,dp求最长递增子序列,两数字可以不相邻
//思路是以每一位为升序列的结尾,求出以每一位为结尾的最长递增子序列
//状态转移方程为
//for(int i=1;i<=n;i++) {
// for(int j=0;j<i;j++) {循环i之前的每一个元素
// if(arr[i]>arr[j])如果此时的第i位数,比第j个数大,那么就考虑
// 在上一个最优解和此时的以j为结尾的升序列的长度再加上1 中选出最大的作为以i为结尾的升序列的最优解
// sheng[i]=Math.max(sheng[i],sheng[j]+1);
// }
//}
//此题思路
//从1到n求一遍,以i为结尾的每一个升序列的最长长度
//然后再求出以i开始的每一个递减数列的长度,即求出从n到1的以i为结尾的每一个升序列的最长长度
//然后相加,得出以i为最高的合唱队形的最大值
//然后从中选出最大值,就是出队人数最少的那种方案了
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
int n=in.nextInt();
int []arr=new int[n+2];
for(int i=1;i<n+1;i++) {
arr[i]=in.nextInt();
}
//求以i为结尾的最长升序列
int []sheng=new int[n+1];
for(int i=1;i<=n;i++) {
for(int j=0;j<i;j++) {
if(arr[i]>arr[j])
sheng[i]=Math.max(sheng[i],sheng[j]+1);
}
}
int max=0;
//求从n到1求最长升
int []jiang=new int[n+2];
for(int i=n;i>=1;i--) {
for(int j=n+1;j>i;j--) {
if(arr[i]>arr[j])
jiang[i]=Math.max(jiang[i],jiang[j]+1);
}
max=Math.max(max, jiang[i]+sheng[i]-1);
}
System.out.println(n-max);
}
}