#include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; vector<int> nums(n, 0); for (int i = 0; i < n; i++) { cin >> nums[i]; } //分解两个最长子序列,从头,从尾;求对应下标元素和的最大值 vector<int> dp_left(n, 1); vector<int> dp_right(n, 1); for (int i = 0; i < n; i++) { for (int j = 0; j < i; j++) { if (nums[i] > nums[j]) dp_left[i] = max(dp_left[i], dp_left[j] + 1); } } for (int i = n - 1; i >= 0; i--) { for (int j = n - 1; j > i; j--) { if (nums[i] > nums[j]) dp_right[i] = max(dp_right[i], dp_right[j] + 1); } } int ans = n; for (int i = 0; i < n; i++) { ans = min(ans, n - (dp_left[i] + dp_right[i]) + 1); } cout << ans; return 0; } // 64 位输出请用 printf("%lld")