View Code of Problem 4064

#include<bits/stdc++.h>
using namespace std;
int main(){
	int n;
	while(cin>>n){
		int a[n+2];
		for(int i=1;i<=n;++i)
		cin>>a[i];
		int f1[n+2],f2[n+2];
		for(int i=1;i<=n;++i){
			f1[i]=1;
			for(int m=1;m<i;++m){
				if(a[m]<a[i])
				f1[i]=max(f1[i],f1[m]+1);
			}
		}
		for(int i=n;i>0;--i){
			f2[i]=1;
			for(int m=n;m>i;--m){
				if(a[m]<a[i])
				f2[i]=max(f2[i],f2[m]+1);
			}
		}
		int ans=-1;
		for(int i=1;i<=n;++i)
		ans=max(f1[i]+f2[i],ans);
		cout<<n-ans+1<<endl;
	}
}

Double click to view unformatted code.


Back to problem 4064