Cod sursa(job #264708)

Utilizator ProtomanAndrei Purice Protoman Data 22 februarie 2009 16:56:44
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <stdio.h>
#include <algorithm>

using namespace std;

int main()
{
	freopen("ssm.in", "r", stdin);
	freopen("ssm.out", "w", stdout);

	int i = 1, n, suma = 0, sumMax = -LONG_MAX, sumStart, start = 1, sumFn;
	for (scanf("%d", &n); n; n--, i++)
	{
		int elem;
		scanf("%d", &elem);

		if (suma < 0)
		{
			suma = 0;
			start = i;
		}

		suma += elem;

		if (suma > sumMax)
		{
			sumMax = suma;
			sumStart = start;
			sumFn = i;
		}
	}

	printf("%d %d %d\n", sumMax, sumStart, sumFn);

	fclose(stdin);
	fclose(stdout);
	return 0;
}