Cod sursa(job #542730)

Utilizator balakraz94abcd efgh balakraz94 Data 26 februarie 2011 21:31:38
Problema Subsecventa de suma maxima Scor 85
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include<cstdio>
#define L 1000
using namespace std;



int main()
{
	int n,x,pc=0,uc=0,p,u;
	 long smax=0,sc=0;
	
	freopen("ssm.in","r",stdin);
	freopen("ssm.out","w",stdout);
	
	scanf("%d",&n);
	
	p=u=0;
	
	for(int i=1;i<=n;i++)
	{
	scanf("%d",&x);
	
	if(x+sc>0)
    {	
		sc+=x, uc++;
		if(sc>smax)
	{
		smax=sc;
		p=pc;
		u=uc;
	}
	}
	
	else if(sc>smax)
	{
		smax=sc;
		p=pc;
		u=uc;
		pc=uc=i+1;
		sc=0;
	}
	else pc=uc=i+1, sc=0;
	}
	fclose(stdin);
	
	if(smax<sc) smax=sc, p=pc, u=uc;
	
	printf("%ld %d %d",smax,p,u-1);
	
	fclose(stdout);

	return 0;
}