import java.util.*; public class Main { public static void main(String[] args) { //1.录入数据 Scanner in = new Scanner(System.in); int n = in.nextInt(); int[] heights = new int[n]; for (int i = 0; i < n; i++) { heights[i] = in.nextInt(); } //2.计算最长递增递减子序列-动态规划 int[] dp1 = new int[n]; //从左往右,存储最长递增子序列 dp[i]=Map(dp[i],dp[j]+1) int[] dp2 = new int[n]; //从右往左,存储最长递减子序列 Arrays.fill(dp1, 1); Arrays.fill(dp2, 1); for (int i = 1; i < n; i++) { for (int j = 0; j < i; j++) { if (heights[i] > heights[j]) { dp1[i] = Math.max(dp1[i], dp1[j] + 1); } } } for (int i = n - 2; i >= 0; i--) { for (int j = n - 1; j > i; j--) { if (heights[i] > heights[j]) { dp2[i] = Math.max(dp2[i], dp2[j] + 1); } } } //3.计算最长合唱队 int max = 1; for (int i = 0; i < n; i++) { max = Math.max(max, dp1[i] + dp2[i] - 1); } //4.输出结果 System.out.print(n - max); } }