Cod sursa(job #806697)

Utilizator Ionut228Ionut Calofir Ionut228 Data 3 noiembrie 2012 12:28:03
Problema Subsecventa de suma maxima Scor 85
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include<fstream>
using namespace std;

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

int best[6000001],v[6000001],n,i;

void sir ()
{
	int m=0,im,jm;
	best[1]=v[1];
	for(i=2;i<=n;i++)
	{
		if(best[i-1]+v[i]>=v[i])
			best[i]=best[i-1]+v[i];
		else
		{
			im=i;
			best[i]=v[i];
		}
	}
	for(i=1;i<=n;i++)
		if(best[i]>=m)
		{
			jm=i;
			m=best[i];
		}
	g<<m<<" "<<im<<" "<<jm;
}

int main ()
{
	f>>n;
	for(i=1;i<=n;i++)
		f>>v[i];
	sir();
	f.close();g.close();
	return 0;
}