Cod sursa(job #1463947)

Utilizator TeodorescuStefanEduardTeodorescu Stefan Eduard TeodorescuStefanEduard Data 21 iulie 2015 21:12:20
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <iostream>
#include <fstream>

using namespace std;

fstream in("ssm.in", ios::in);
fstream out("ssm.out", ios::out);

#define nmax 6000001
int a[nmax],b[nmax];


int main()
{
	int n,i,j,smax,spoz,s=0;

	in>>n;

	in>>a[1];
	s=a[1];
	smax=a[1];
	spoz=0;
	b[1]=1;
	
	for(i=2;i<=n;i++)
	{
		in>>a[i];
		s=s+a[i];
		if(s<0)
		{
			b[i]=0;
			s=0;
		}
		else
		{
			b[i]=b[i-1]+1;
			if(s>smax)
			{
				smax=s;
				spoz=i;
			}
		}
	}

	out<<smax<<" "<<spoz-b[spoz]+1<<" "<<spoz;

	

    in.close();
    out.close();

	return 0;
}