Cod sursa(job #674603)

Utilizator miha88Popescu Mihaela miha88 Data 6 februarie 2012 15:58:36
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
#include<fstream>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int s,i,n,a[6000003],smax,p,u,pr;
int main()
{
	
	f>>n>>a[1];
	p=u=1;smax=a[1];s=a[1];
	for(i=2;i<=n;i++)
	{
		f>>a[i];
		if(a[i]<s+a[i])
			{s+=a[i];} 
		else
		{
			s=a[i];
			p=i;
		}
		if(s>smax)
			{smax=s;u=i;pr=p;}
		else
		{if(s==smax)
			if(u-pr+1>i-p+1)
		{pr=p; u=i;}
		}
	}
	g<<smax<<' '<<pr<<' '<<u; 
	return 0;
}