View Code of Problem 19

//最大子串和

#include<stdio.h>
int main()
{
	int  a[100],b[100];
	int n;
	int i;
	int max;
	while(scanf("%d",&n)!=EOF&&n!=0)
	{
		for(i=0;i<n;i++)
			scanf("%d",&a[i]);
		b[0]=a[0];
		max=b[0];
		for(i=1;i<n;i++)
		{
			if(b[i-1]<0)
				b[i]=a[i];
			else
				b[i]=b[i-1]+a[i];
			if(b[i]>max)
				max=b[i];
		}
		printf("%d\n",max);
		
		
	}
	
	
	
	return 0;
 } 

Double click to view unformatted code.


Back to problem 19