http://acm.hdu.edu.cn/showproblem.php?pid=1087
#include<iostream>
#include<stdio.h>
#include<math.h>
using namespace std;
int main()
{
int n,i,j;
__int64 max;
__int64 a[1005],sum[1005];
while(scanf("%d",&n)!=EOF)
{
if(n==0)
break;
max=-999999;
for(i=0;i<n;i++)
{
scanf("%I64d",&a[i]);
sum[i]=a[i];
}
for(i=0;i<n;i++)
{
for(j=0;j<i;j++)
{
if(a[j]<a[i]&&sum[i]<sum[j]+a[i])
{
sum[i]=sum[j]+a[i];
}
}
if(max<sum[i])
max=sum[i];
}
printf("%I64d\n",max);
}
}