Cod sursa(job #392483)

Utilizator avram_florinavram florin constantin avram_florin Data 7 februarie 2010 16:04:05
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
//subsecventa de suma maxima
#include<fstream>
#define MAXN 6000001

using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");

int N,best[MAXN],sbest=-9999999,beg,end;

int main ()
{
	f>>N;
	int i,x,idx;
	f>>x;
	best[1]=x;
	if(best[1]>sbest)
		{
			sbest=best[1];
			beg=1;
			end=1;
		}
	for(i=2;i<=N;i++)
		{
			f>>x;
			if(best[i-1]<0)     
				best[i]=x,idx = i;
				else
				best[i]=best[i-1]+x;
			if(sbest < best[i])
				sbest=best[i],beg=idx,end=i;
		}
	g<<sbest<<' '<<beg<<' '<<end<<'\n';
	f.close();
	g.close();
	return 0;
}