Cod sursa(job #320176)

Utilizator c_e_manuEmanuel Cinca c_e_manu Data 3 iunie 2009 21:15:51
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include<fstream>
#define N 6000001

using namespace std;

ifstream fin("ssm.in");
ofstream fout("ssm.out");

int s[N],i,st,dr,bestSum,beg,n,best[N];

int main()
{   fin>>n;
    for(i=1;i<=n;i++) fin>>s[i];
    bestSum=s[1];beg=1;st=1;dr=1;
    for(i=1;i<=n;i++)
	{	best[i]=s[i];
		if(best[i]<best[i-1]+s[i])
			best[i]=best[i-1]+s[i];
		else beg=i;
		if(bestSum<best[i])
		{	bestSum=best[i];
			st=beg;
			dr=i;
		}
	}
    fout<<bestSum<<' '<<st<<' '<<dr;
    return 0;
}