Cod sursa(job #361673)

Utilizator Teodor94Teodor Plop Teodor94 Data 6 noiembrie 2009 11:31:03
Problema Subsecventa de suma maxima Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include <cstdio>

const int N=(1<<23);

int a[N],n;

int main()
{
	freopen("ssm.in","r",stdin);
	freopen("ssm.out","w",stdout);
	int i;
	scanf("%d",&n);
	for (i=1;i<=n;i++)
		scanf("%d",&a[i]);
	int sc=0,smax=-(1<<30),incep,sfarsit;
	for (i=1;i<=n;i++)
	{
		sc+=a[i];
		if (sc>smax)
		{
			smax=sc;
			sfarsit=i;
		}
		if (sc<0)
		{
			sc=0;
			incep=i+1;
		}
	}
	printf("%d %d %d",smax,incep,sfarsit);
	return 0;
}