Cod sursa(job #498453)

Utilizator nbibestNeagu Bogdan Ioan nbibest Data 5 noiembrie 2010 09:58:34
Problema Subsecventa de suma maxima Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.82 kb
#include <stdio.h>


using namespace std;

int best,a,b,x,n,i,k,kk,max,nn;

int main()
{
    freopen("ssm.in","r",stdin);
    freopen("ssm.out","w",stdout);
    max=-2000000000;
    scanf("%d",&n);
    best=0;
    a=1;
    k=1;
    
    //scanf("%d",&best);
    
    for (i=1;i<=n;i++)
    {
        scanf("%d",&x);
		//if (best==-100000000) best=x;
		
		
		
		if ((best+x)>=x)
		{
			best=best+x;
			
			if (best>max)
			{
				max=best;
				a=k;	
				b=i;
			}
			//k=0;
			nn=0;
		}
		else
		{
			best=x;
			
			//printf("%d %d %d \n",best,max,i);
			if (best>max)
			{
				if (nn==0) a=k+1;
				else
				a=k;
				b=i;
				max=best;
				
			}
			
		k=i;
			
			
				
		}
    }
    
    if (nn+a==0) nn++;
    printf("%d %d %d",max,a,b);
    
    
  
    return 0;
}