#include<bits/stdc++.h>
using namespace std;
#define LL unsigned long long int
int bts[10000000];
int pop(unsigned x)
{
x = x - ((x >> 1) & 0x55555555);
x = (x & 0x33333333) + ((x >> 2) & 0x33333333);
x = (x + (x >> 4)) & 0x0F0F0F0F;
x = x + (x >> 8);
x = x + (x >> 16);
return x & 0x0000003F;
}
void init()
{
bts[0]=0;
for(int i=1;i<10000000;i++)
{
bts[i]=bts[i-1]+pop(i);
}
}
int Lmb(LL n)
{
int bits=0;
while(n > 1)
{
n>>=1;
bits+=1;
}
return bits;
}
LL Total_Bits(LL n)
{
//cout<<"calling total bits"<<" ";
if(n==0) return 0;
LL m = Lmb(n);
if(n==(pow(2,(m+1))-1))
return 1LL*(m+1)*pow(2,m);
n = n - pow(2,m);
return (n+1) + Total_Bits(n) + m*pow(2,(m-1));
}
LL search(LL H, int L, LL n)
{
LL M=0,c=0;
while(L<=H)
{
M=(H+L)/2;
if(M < 10000000) c = bts[M];
else
{c = Total_Bits(M);}
if(c==n)
return M;
else if(c < n)
L=M+1;
else if(c > M)
H = M-1;
}
return M;
}
#include <bits/stdc++.h>
int main() {
// Write C++ code here
int n;
cin>>n;
vector<int>a(n);
for(int i=0;i<n;i++){
int x;
cin>>x;
a[i]=x;
}
vector<int>dp(n+1);
dp[0]=a[0];
int ans=dp[0];
for(int i=1;i<n;i++){
dp[i]=-1;
for(int j=0;j<i;j++){
if(dp[j]!=-1){
dp[i] = max(dp[i],dp[j]+a[i]);
}
}
ans=max(ans,dp[i]);
}
cout<<ans<<endl;
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBMTCB1bnNpZ25lZCBsb25nIGxvbmcgaW50CmludCBidHNbMTAwMDAwMDBdOwppbnQgcG9wKHVuc2lnbmVkIHgpCnsKICAgIHggPSB4IC0gKCh4ID4+IDEpICYgMHg1NTU1NTU1NSk7CiAgICB4ID0gKHggJiAweDMzMzMzMzMzKSArICgoeCA+PiAyKSAmIDB4MzMzMzMzMzMpOwogICAgeCA9ICh4ICsgKHggPj4gNCkpICYgMHgwRjBGMEYwRjsKICAgIHggPSB4ICsgKHggPj4gOCk7CiAgICB4ID0geCArICh4ID4+IDE2KTsKICAgIHJldHVybiB4ICYgMHgwMDAwMDAzRjsKfQp2b2lkIGluaXQoKQp7ICAKCWJ0c1swXT0wOwoJZm9yKGludCBpPTE7aTwxMDAwMDAwMDtpKyspCgl7CgkJYnRzW2ldPWJ0c1tpLTFdK3BvcChpKTsKCX0KfQoKaW50IExtYihMTCBuKQp7ICAKCWludCBiaXRzPTA7Cgl3aGlsZShuID4gMSkKCXsKCQluPj49MTsKCQliaXRzKz0xOwoJfQoJcmV0dXJuIGJpdHM7Cn0KTEwgVG90YWxfQml0cyhMTCBuKQp7ICAKCS8vY291dDw8ImNhbGxpbmcgdG90YWwgYml0cyI8PCIgIjsKCWlmKG49PTApIHJldHVybiAwOwoJTEwgbSA9IExtYihuKTsKCWlmKG49PShwb3coMiwobSsxKSktMSkpCgkJcmV0dXJuIDFMTCoobSsxKSpwb3coMixtKTsKCW4gPSBuIC0gcG93KDIsbSk7CglyZXR1cm4gKG4rMSkgKyBUb3RhbF9CaXRzKG4pICsgbSpwb3coMiwobS0xKSk7Cn0KTEwgc2VhcmNoKExMIEgsIGludCBMLCBMTCBuKQp7ICAKCUxMIE09MCxjPTA7Cgl3aGlsZShMPD1IKQoJewoJCU09KEgrTCkvMjsKCQlpZihNIDwgMTAwMDAwMDApIGMgPSBidHNbTV07CgkJZWxzZQoJCXtjID0gVG90YWxfQml0cyhNKTt9CgkJaWYoYz09bikgCgkJICAgcmV0dXJuIE07CgkJZWxzZSBpZihjIDwgbikKCQkgICAgIEw9TSsxOwoJCWVsc2UgaWYoYyA+IE0pCgkJICAgICBIID0gTS0xOwoJfQogIHJldHVybiBNOwp9CiNpbmNsdWRlIDxiaXRzL3N0ZGMrKy5oPgoKaW50IG1haW4oKSB7CiAgICAvLyBXcml0ZSBDKysgY29kZSBoZXJlCiAgICBpbnQgbjsKICAgIGNpbj4+bjsKICAgIHZlY3RvcjxpbnQ+YShuKTsKICAgIGZvcihpbnQgaT0wO2k8bjtpKyspewogICAgICAgIGludCB4OwogICAgICAgIGNpbj4+eDsKICAgICAgICBhW2ldPXg7CiAgICB9CiAgICB2ZWN0b3I8aW50PmRwKG4rMSk7CiAgICBkcFswXT1hWzBdOwogICAgaW50IGFucz1kcFswXTsKICAgIGZvcihpbnQgaT0xO2k8bjtpKyspewogICAgCWRwW2ldPS0xOwogICAgICAgIGZvcihpbnQgaj0wO2o8aTtqKyspewogICAgICAgICAgICBpZihkcFtqXSE9LTEpewogICAgICAgICAgICAgICAgZHBbaV0gPSBtYXgoZHBbaV0sZHBbal0rYVtpXSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgYW5zPW1heChhbnMsZHBbaV0pOwogICAgfQogICAgY291dDw8YW5zPDxlbmRsOwogICAgcmV0dXJuIDA7Cn0=