60分 ~求助
查看原帖
60分 ~求助
1359067
saam楼主2024/11/24 21:48

60分 ~求助

#include <bits/stdc++.h>
using namespace std;
long long n,ans,a[105],dp1[105],dp2[105];
signed main() {
	cin >> n;
	for(int i=1;i<=n;++i) cin >> a[i];
	//dp1[0]=0;
	for(int i=1;i<=n;++i) {
		dp1[i]=1;
		for(int j=1;j<i;++j)
			if(a[j]<a[i]) dp1[i]=max(dp1[i],dp1[j]+1);
	}
	//dp2[0]=0;
	for(int i=1;i<=n;++i) {
		dp2[i]=1;
		for(int j=0;j<i;++j)
			if(a[j]>a[i]) dp2[i]=max(dp2[i],dp2[j]+1);
	}
	for(int i=1;i<=n;++i) ans=max(ans,dp1[i]+dp2[i]-1);
	cout << n-ans;
	return 0;
}
2024/11/24 21:48
加载中...