Cod sursa(job #427233)

Utilizator Andrei_ScorpioAndreiana Andrei Daniel Andrei_Scorpio Data 27 martie 2010 17:46:05
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include<fstream>
using namespace std;
int n,s,a,i1,i,imax,jmax,smax;
int main()
{
	ifstream f("ssm.in");
	ofstream g("ssm.out");
	f>>n;
	i1=1;
	s=0;smax=-2000000000;jmax=1;imax=2;
	for(i=1;i<=n;i++)
	{
		f>>a;
		if(s+a>=a)s+=a;
		else {s=a;i1=i;}
				
		if(s>smax)
			{
			 smax=s;
			 imax=i1;jmax=i;
			}
		else
			 if(s==smax)
				 if(i-i1 < jmax-imax)
				 {
					 imax=i1;jmax=i;
				 }
	}
		g<<smax<<" "<<imax<<" "<<jmax;
		return 0;
	g.close();
}