Cod sursa(job #806618)

Utilizator dariusdariusMarian Darius dariusdarius Data 3 noiembrie 2012 10:15:43
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
#include<stdio.h>
int a[6000005];
int main()
{
	freopen("ssm.in","r",stdin);
	freopen("ssm.out","w",stdout);
	int n,i;
	scanf("%d",&n);
	for(i=1;i<=n;i++)
		scanf("%d",&a[i]);
	int inc,s,smax,imax,fmax;
	s=smax=a[1];inc=imax=fmax=1;
	for(i=2;i<=n;i++)
		{
		if(s+a[i]<a[i])
			{s=a[i];inc=i;}
		else
			s=s+a[i];
		if(s>smax)
			{
			smax=s;
			imax=inc;
			fmax=i;
			}
		}
	printf("%d %d %d\n",smax,imax,fmax);
}