Cod sursa(job #496454)

Utilizator nbibestNeagu Bogdan Ioan nbibest Data 29 octombrie 2010 10:17:14
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.94 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=-100000000;
    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
		{
			
			if (best>max)
			{
				a=i+1;
				b=i;
				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;
				
		}
    }
    
    if (nn+a==0) nn++;
    printf("%d %d %d",max,a,b);
    
    
    //for (i=1;i<=nn;i++)
    //printf("%d ",m[i]);
    
    
  
    return 0;
}