Cod sursa(job #849601)

Utilizator gbi250Gabriela Moldovan gbi250 Data 7 ianuarie 2013 12:52:42
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include <cstdio>
#include <iostream>
FILE *fin=fopen("ssm.in", "r"), *fout=fopen("ssm.out", "w");
long n, i, in, sf, start, Scurenta, Smax;
int v[6000000];

using namespace std;

int main()
{
	fscanf(fin, "%ld", &n);
	for(i=0;i<=n;i++)
		fscanf(fin, "%d", &v[i]);
	for(i=0;i<=n-1;i++)
	{
		Scurenta+=v[i];
		if(Scurenta>=Smax)
		{
			Smax=Scurenta;
			in=start;
			sf=i;
		}
		else if(Scurenta<0)
		{
			start=i+1;
			Scurenta=0;
		}
	}
	fprintf(fout, "%d %d %d", Smax, in+1, sf+1);
	return 0;
}