10分求助!
查看原帖
10分求助!
674147
vanueber楼主2022/8/12 14:23
#include<bits/stdc++.h>
using namespace std;
int main()
{
	int n;
	cin>>n;
	int len[n],num[n],ans=0,lastans=114514,s=0;
	memset(num,0,sizeof(num));
	for(int i=0;i<n;i++) cin>>len[i];
	for(int i=0;i<n;i++){
		for(int j=n-1;j>=i;j--){
			for(int l=n-1;l>=j;l--){
				if(len[j]>len[l])
					ans=max(num[l]+1,ans);
			}
			num[j]=ans;
		}
		for(int j=n-1;j>=i;j--){
			if(len[i]>len[j])
				ans=max(num[j]+1,ans);
		}
		s=ans;
		ans=0;
		for(int j=1;j<=i;j++){
			for(int l=0;l<=j;l++){
				if(len[j]>len[l])
					ans=max(num[j]+1,ans);
			}
		}
		for(int j=0;j<=i;j++){
			if(len[i]>len[j])
				ans=max(num[i]+1,ans);
		}
		s=s+ans-1;
		lastans=min(n-s,lastans);
		ans=0;
		memset(num,0,sizeof(num));
	}
	cout<<lastans;
	return 0;
}
2022/8/12 14:23
加载中...