Cod sursa(job #361697)

Utilizator drujbarultudorTudor Mihai Munteanu drujbarultudor Data 6 noiembrie 2009 11:56:41
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include<cstdio>
#include <fstream>
const int x = -(1<<30);
const int N = (1<<23);
using namespace std;
int a[N];

int main ()
{
	int inc,l,sf,i,n,smax = x,sc = 0;
	ifstream in ("ssm.in");
	ofstream out ("ssm.out");
	in>>n;
	for (i=1;i<=n;i++)
		in>>a[i];
	inc=1;
	for (i=1;i<=n;i++)
	{
		sc=sc+a[i];
		++l;
		if (sc>smax)
		{
			smax=sc;
			inc=i-l+1;
			sf=i;
		}
		if (sc<0)
		{
			sc=0;
			l=0;
		}
	}
	out<<smax<<" "<<inc<<" "<<sf;
	return 0;
}