Cod sursa(job #499388)

Utilizator AnkutzaAnca Ioana Ankutza Data 9 noiembrie 2010 18:41:32
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.9 kb
#include <stdio.h>
#include <fstream>


using namespace std;

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

int main()
{
    ifstream in("ssm.in");
    ofstream out("ssm.out");
	int max;
    max=-2000000000;
    //scanf("%d",&n);
    in>>n;
    best=0;
    a=1;
    k=1;
    
    //scanf("%d",&best);
    
    for (i=1;i<=n;i++)
    {
        //scanf("%d",&x);
        in>>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);
    out<<max<<" "<<a<<" "<<b;
    
    
  
    return 0;
}