Cod sursa(job #404635)

Utilizator cameleonGeorgescu Dan cameleon Data 26 februarie 2010 14:28:05
Problema Subsecventa de suma maxima Scor 85
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include<stdio.h>
int n,s,a,i1,j1,i,imax,jmax,smax;
int main()
{
	freopen("ssm.in","r",stdin);
	freopen("ssm.out","w",stdout);
	scanf("%d",&n);i1=1;
	s=0;smax=-2000000000;jmax=1;imax=2;
	for(i=1;i<=n;i++)
	{
		scanf("%d",&a);
		if(s+a>=a){s+=a;j1++;}
		else {s=a;i1=i;j1=i;}
				
		if(s>smax)
			{
			 smax=s;
			 imax=i1;jmax=j1;
			}
		else
			 if(s==smax)
				 if(j1-i1 < jmax-imax)
				 {
					 imax=i1;jmax=j1;
				 }
	}
		printf("%d %d %d",smax,imax,jmax);
		return 0;
	
}