#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int result(int *a,int n);
int main()
{
int n;
scanf("%d",&n);
int a[100];
int i;
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
int sum=result(a,n);
printf("%d\n",sum);
}
int result(int *a,int n)
{
int sum[1000];
int i,j;
int max=0;
for(i=0;i<n;i++)
{
sum[i]=a[i];//对sum[i]进行初始化
}
//动态规划
for(i=0;i<n;i++)
{
for(j=0;j<i;j++)
{
if(a[i]>a[j])
{
if(sum[i]<sum[j]+a[i])//进行不断地更新
{
sum[i]=sum[j]+a[i];
}
}
}
}
for(i=0;i<n;i++)
{
if(sum[i]>max)
{
max=sum[i];
}
}
return max;
}