Cod sursa(job #495640)

Utilizator nbibestNeagu Bogdan Ioan nbibest Data 26 octombrie 2010 11:34:36
Problema Subsecventa de suma maxima Scor 25
Compilator cpp Status done
Runda Arhiva educationala Marime 0.92 kb
#include <stdio.h>


using namespace std;

int best,a,b,x,v[600000],m[60000],n,i,k,kk,max,nn;

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