Cod sursa(job #613085)

Utilizator cosminx2003Cosmin Clapon cosminx2003 Data 15 septembrie 2011 18:11:11
Problema Subsecventa de suma maxima Scor 75
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <iostream.h>
#include <fstream.h>
#define N 6000000

ifstream f("ssm.in");
ofstream g("ssm.out");
int s[N];

int main()
{
	int i,j,n,smin=99999999,ss=0,jmin,smax=-99999999,imin,aux;
	
	f>>n;
	for(i=1;i<=n;i++)
	{
		f>>s[i];
		ss+=s[i];
		if(smin>ss)
			smin=ss, imin=i;
	}
	
	if(smin>0) imin=0;
	ss=s[1];
	++imin;
	
	for(i=2;i<=n;i++)
	{
		ss+=s[i];
		if(i>imin)
		{
			aux=ss-smin;
			if(aux>=smax)
				smax=aux, jmin=i;
			else
				if(aux==smax)
					if(jmin>i)
						jmin=i;
		}
	}
	
	g<<smax<<" "<<imin<<" "<<jmin;
	
	return 0;
}