Cod sursa(job #528041)

Utilizator tudorsTudor Siminic tudors Data 1 februarie 2011 20:33:24
Problema Subsecventa de suma maxima Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include <stdio.h>
using namespace std;
int n,i,inc,sf,ma,b;
int best,x,ix;

int main()
{
	FILE * f;
	f=fopen("ssm.in","r");
	FILE * g;
	g=fopen("ssm.out","w");
	fscanf(f,"%d",&n);
	b=ix=0;
	best=-int(2e9);
	for (i=1;i<=n;i++)
	{
		fscanf(f,"%d",&x);
		if (b+x>x)
		{
			b+=x;
			if (b>best)
			{
				best=b;
				inc=ix;
				sf=i;
			}
		}
		else
		{
			b=x;
			ix=i;
		}
	}
	fprintf(g,"%d %d %d",best,inc,sf);
	fclose(f);
	fclose(g);
	return 0;
}