Cod sursa(job #713564)

Utilizator raulstoinStoin Raul raulstoin Data 14 martie 2012 19:25:35
Problema Subsecventa de suma maxima Scor 65
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include<fstream>
using namespace std;
void suma()
{
	long  nr,n,i,s=0,maxim,sw=1,pi,pj,pip;
	freopen("ssm.in","r",stdin);
	scanf("%ld",&n);
	pi=pj=pip=1;
	scanf("%ld",&nr);
	maxim=nr;
	for(i=1;i<n;i++)
	{
		scanf("%ld",&nr);
		s+=nr;
		if(s<0)
		{
			sw=0;
			s=nr;
		}
		if(s>maxim)
		{
			maxim=s;
			if(!sw)
			{
				sw=1;
				pi=i+1;
			}
			if(pip>pi)
				pi=pip;
			pj=i+1;
		}
		else
			if(!sw)
			{
				sw=1;
				pip=i+1;
			}
	}
	freopen("ssm.out","w",stdout);
	printf("%ld %ld %ld",maxim,pi,pj);
}
int main()
{
	suma();
	return 0;
}