Problem:
Maximum Sum Sequence

Given a sequence of numbers a1, a2, a3, ..., an, find the maximum sum of a contiguous subsequence of those numbers. Note that, a subsequence of one element is also a contiquous subsequence.

Input

The input consists of multiple datasets. Each data set consists of:

n
a1
a2
.
.
an

You can assume that 1 ≤ n ≤ 5000 and -100000 ≤ ai ≤ 100000.

The input end with a line consisting of a single 0.

Output

For each dataset, print the maximum sum in a line.

Sample Input

7
-5
-1
6
4
9
-6
-7
13
1
2
3
2
-2
-1
1
2
3
2
1
-2
1
3
1000
-200
201
0

Output for the Sample Input

19
14
1001

Solution in C (judge verdict: Time Limit Exceeded)

#include<stdio.h>
#define MAX 5000

int max(int a,int b){
 if(a > b)return a;
 return b;
}

int GetSum(int A[],int start,int last){
 int i;
 int sum=0;

 for(i=start;i<=last;i++)
  sum+=A[i];

return sum;

}




int main(){

 int n,i,j;
 int A[MAX];
 int sum;
 int maxi;
 while(1){

  scanf("%d",&n);
  if(n==0)break;
  maxi=-100000000;

  for(i=0;i<n;i++){
    scanf("%d",&A[i]);

    for(j=0;j<=i;j++){
      sum=GetSum(A,j,i);
      maxi=max(sum,maxi);
    }

  }

  printf("%d\n",maxi);

 }

return 0;
}