#include<bits/stdc++.h>
using namespace std;
inline int scan(){
char c = getchar_unlocked();
int x = 0;
while(c<'0'||c>'9'){
c=getchar_unlocked();
}
while(c>='0'&&c<='9'){
x=(x<<1)+(x<<3)+c-'0';
c=getchar_unlocked();
}
return x;
}
int main(){
int n,a[5001],dp[5001],sum=0,ma;
n=scan();
for(int i=0;i<n;a[i++]=scan(),sum+=a[i-1]);
for(int i=0;i<n;i++){
dp[i]=a[i];
for(int j=0;j<i;j++){
if(a[i]>=a[j]){
dp[i]=max(dp[j]+a[i],dp[i]);
}
}
ma=max(ma,dp[i]);
}
printf("%d",sum-ma);
}
using namespace std;
inline int scan(){
char c = getchar_unlocked();
int x = 0;
while(c<'0'||c>'9'){
c=getchar_unlocked();
}
while(c>='0'&&c<='9'){
x=(x<<1)+(x<<3)+c-'0';
c=getchar_unlocked();
}
return x;
}
int main(){
int n,a[5001],dp[5001],sum=0,ma;
n=scan();
for(int i=0;i<n;a[i++]=scan(),sum+=a[i-1]);
for(int i=0;i<n;i++){
dp[i]=a[i];
for(int j=0;j<i;j++){
if(a[i]>=a[j]){
dp[i]=max(dp[j]+a[i],dp[i]);
}
}
ma=max(ma,dp[i]);
}
printf("%d",sum-ma);
}