import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); while (in.hasNextInt()) { int N = in.nextInt(); int[] T = new int[N]; int[] left = new int[N];//记录从左往右的最长子序列数据 int[] right = new int[N];//记录从右往左的最长子序列数据 for (int i = 0; i < N; i++) { T[i] = in.nextInt(); } //先从左往右找出最长子序列 for (int i = 0; i < N; i++) { for (int j = 0; j < i; j++) { if (T[i] > T[j]) { left[i] = Math.max(left[i], left[j]); } } left[i] = left[i] + 1; } //再从右往左找出最长子序列 for (int i = N - 1; i >= 0; i--) { for (int j = N - 1; j > i; j--) { if (T[i] > T[j]) { right[i] = Math.max(right[i], right[j]); } } right[i] = right[i] + 1; } int max = 0; //把每一个点作为最后一个请出同学,遍历比较得出最多剩下的同学 for (int i = 0; i < N; i++) { if (max < left[i] + right[i] - 1) { //两者相加,减去重复计算的1,即为将此数放中间组成合唱队所需要的人数,取最大值max max = left[i] + right[i] - 1; } } System.out.println(N - max); } } }