Cod sursa(job #903128)

Utilizator superman_01Avramescu Cristian superman_01 Data 1 martie 2013 18:38:35
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include<fstream>

#define MAX_SIZE 6000005

using namespace std;

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

int n,v[MAX_SIZE],S,SMAx;

int main()
{
	f>>n;
	for(int i(1); i <= n; ++i)
		f>>v[i];
	int start,end,begin;
	for(int i(1); i<= n; ++i)
	{
		if(S+v[i]>=v[i])
			S+=v[i];
		else
		{
			S=v[i];
			begin=i;
		}
		if(S>SMAx)
		{
			SMAx=S;
			end=i;
			start=begin;
		}
		
	}
	g<<SMAx<<" "<<start<<" "<<end;
	f.close();
	g.close();
	return 0;
}