Cod sursa(job #406129)

Utilizator tudgal1001Profir Tudor tudgal1001 Data 1 martie 2010 11:00:34
Problema Subsecventa de suma maxima Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include<fstream>
#include<stdio.h>
using namespace std;

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

int main ()
{
	long long n,i,a[600001],nr,best=-(2e9),j,poz1,poz2,min,p_min;
	freopen("ssm.in","r",stdin);
	freopen("ssm.out","w",stdout);
	scanf("%lld",&n);
	a[0]=0;
	for (i=1; i<=n; i++)
	{
		scanf("%lld",&nr);
		a[i]=a[i-1]+nr;
	}
	min=(2e9);
	for (i=1; i<n; i++)
	{
		if (a[i]-min>best) { best=a[i]-min; poz1=p_min+1; poz2=i; }
		if (a[i]<min) { min=a[i]; p_min=i; }
	}
	printf("%lld %lld %lld",best,poz1,poz2);
	return 0;
}