Cod sursa(job #1312287)

Utilizator Mirc100Mircea Octavian Mirc100 Data 9 ianuarie 2015 09:25:49
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include<fstream>
using namespace std;
int main(){
	long long s, smax, p, pmax,l,lmax,i,x,n;
	ifstream f("ssm.in");
	ofstream g("ssm.out");
	
	f>>n;
	f>>x;
	s=smax=x;
	pmax=p=1;
	lmax=1;
	for(i=2;i<=n;i++)
	{
		f>>x;
		if(s<0)
		{
			s=x;
			p=i;
		}
		else
			s=s+x;
		if(s>smax)
			{
				smax=s;
				pmax=p;
				lmax=i-p+1;
			}
		else
			if((s==smax) &&(p<pmax))
			{
				smax=s;
				pmax=p;
				lmax=i-p+1;
			}
	}		
	g<<smax<<" "<<pmax<<" "<<pmax+lmax-1;	
	
}