#include<bits/stdc++.h>
#define MAX (1<<17)
using namespace std;

typedef long long ll;

ll n;
ll st[MAX*2]={};

void init(){
  int tmp=1;
  while(tmp<n)tmp*=2;
  n=tmp;
  for(int i=0;i<n*2;i++)st[i]=0;
}

void update(int k,ll x){
  k+=n-1;
  st[k]=x;
  while(k>0){
    k=(k-1)/2;
    st[k]=max(st[k*2+1],st[k*2+2]);
  }
}

ll find(int a,int b,int k,int l,int r){

  if(r<=a || b<=l)return 0;

  if(a<=l && r<=b)return st[k];

  ll v1=find(a,b,k*2+1,l,(l+r)/2);
  ll v2=find(a,b,k*2+2,(l+r)/2,r);
  return max(v1,v2);
}

int main()
{
  ll a,ans=0,m;

  cin>>n;

  m=n;
  ans=n*(n+1)/2;
  init();

  for(int i=0;i<m;i++){
    cin>>a;
    ll res=find(1,a,0,0,n);
    update(a,a+res);
  }

  ans-=find(1,m+1,0,0,n);

  cout<<ans<<endl;

  return 0;
}