#include<bits/stdc++.h>
using namespace std;
int h[110],n,l[110],len=0,dp1[110],dp2[110],mx=0;
int main()
{
int n;
cin>>n;
for(int i=0;i<n;i++) cin>>h[i];
l[0]=h[0],dp1[0]=1;
for(int i=1;i<n;i++)
{
if(l[len]<h[i]) l[++len]=h[i];
else l[upper_bound(l,l+len,h[i])-l]=h[i];
dp1[i]=len+1;
}
len=0,memset(l,0,sizeof(l)),reverse(h,h+n);
l[0]=h[0],dp2[0]=1;
for(int i=1;i<n;i++)
{
if(l[len]<h[i]) l[++len]=h[i];
else l[upper_bound(l,l+len,h[i])-l]=h[i];
dp2[i]=len+1;
}
reverse(dp2,dp2+n);
for(int i=0;i<n;i++)
mx=max(mx,dp1[i]+dp2[i]-1);
cout<<n-mx;
}