View Code of Problem 19

#include <stdio.h>
#define max(a,b) (a > b) ? a : b
int main()
{
	int n, m;
	while(scanf("%d", &n) != EOF && n != 0)
	{
		int sum = 0, max = 0, min = -1000;
		for(int i = 0; i < n; i++)
		{
			scanf("%d", &m);
			min = max(min, m);
			sum += m;
			if(sum < 0)
			{
				sum = 0;
			}
			if(sum > max)
				max = sum;
		}
		if(max != 0)
		    printf("%d\n", max);
		else
			printf("%d\n", min);
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 19