Cod sursa(job #703197)

Utilizator KenshyCartis Andrei Kenshy Data 2 martie 2012 11:22:27
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include<iostream>
#include<fstream>

using namespace std;

const int nm = 7000005;

long n,v[nm],suma;
long ii,jj;

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

long max(long a,long b)
{
	if(a<=b)
		return b;
	return a;
}

long Max(int a,int b,int c)
{
	if(a>=b&&a>=c)
		return a;
	else if(b>=a&&b>=c)
		return b;
	else if(c>=a&&c>=b)
		return c;
}

int main()
{
	f>>n;
	int beg;
	int Suma=-1<<30;
	for(long i=1;i<=n;++i)
		f>>v[i];
	for(long i=1;i<=n;++i)
	{
		if(suma<0)
		{
			suma=v[i];
			ii=i;
		}
		else
			suma+=v[i];
		if(Suma<suma)
		{
			Suma=suma;
			beg=ii;
			jj=i;
		}
	}
	cout<<Suma<<' '<<beg<<' '<<jj;
}