#include<iostream> using namespace std; int max(int a,int b) { if(a>=b) return a; else return b; } int main(){ int a[101]; int dpa[101]; int dpb[101]; int n; cin>>n; for(int i=0;i<n;i++){ cin>>a[i]; } for(int i=0;i<n;i++){ dpa[i]=1; dpb[i]=1; } for(int i=1;i<n;i++){ for(int j=0;j<i;j++){ if(a[i]>a[j]){ dpa[i] = max(dpa[j]+1,dpa[i]); } } } for(int i=n-1;i>=0;i--){ for(int j=n-1; j>i;j--){ if(a[i]>a[j]) dpb[i]=max(dpb[j]+1,dpb[i]); } } int Max=0; for(int i=0;i<n;i++){ Max=max(Max,dpa[i]+dpb[i]-1); } cout<<n-Max<<endl; } /************************************************************** Problem: 1277 User: zhanghanbin Language: C++ Result: Accepted Time:52 ms Memory:2072 kb ****************************************************************/