动态规划,注意代码规范

#include <bits/stdc++.h>
using namespace std;
int main () {
	int n;
	cin >> n;
	vector<int> nums(n, 0);
	vector<int> dp1(n, 1);
	vector<int> dp2(n, 1);
	int i = 0;
	int m = n;
	while (m--) {
		cin >> nums[i++];
	}
	for (int i = 0; i < n; i++) {
		for (int j = 0; j < i; j++) {
			if (nums[j] < nums[i]) {
				dp1[i] = max (dp1[i], dp1[j] + 1);
			}
		}
	}
	for (int i = n - 1; i >= 0; i--) {
		for (int j = n - 1; j > i; j--) {
			if (nums[j] < nums[i]) {
				dp2[i] = max (dp2[i], dp2[j] + 1);
			}
		}
	}
	int k = 0;
	for (int i = 0; i < n; i++) {
		k = max (k, dp1[i] + dp2[i] - 1);
	}
	cout << n - k << endl;
	return 0;
}