Cod sursa(job #363755)

Utilizator taseTanase Alexandru tase Data 14 noiembrie 2009 16:55:11
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include<fstream>
using namespace std;
int n,i,x,sc=0,u,p,smax=-2000000000,pp;
int main()
{
	//freopen("ssm.in","r",stdin);
	//freopen("ssm.out","w",stdout);
	ifstream in("ssm.in");
	ofstream out("ssm.out");
	in>>n;
	for(i=1;i<=n;++i)
	{
		//scanf("%d",&x);
		in>>x;
		sc+=x;
		if(sc>smax)
		{
			smax=sc;
			p=pp;
			u=i;
		}
		if(sc<0)
		{
			sc=0;
			pp=i+1;
		}
		/*
		if(sc==0)
			u=i;
		if(sc+x>=sc) 
		{
			sc+=x;
			if(sc>smax) {smax=sc;p=i;}
		}
		else
			sc=0;
		*/
	}
	//printf("%d %d %d",smax,p,u);
	out<<smax<<" "<<p<<" "<<u<<"\n";
	return 0;
}