Cod sursa(job #272703)

Utilizator Bogdan_tmmTirca Bogdan Bogdan_tmm Data 7 martie 2009 18:12:01
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.38 kb
#include<iostream.h>
#include<stdio.h>
#define max(a,b) (a>b?a:b)
FILE *f=fopen("sam.in","r"),*g=fopen("sam.out","w");
int main()
{
	long n,x,sm,s,st=1,dr=1,i=0,r,l;
	sm=s=0;
	fscanf(f,"%ld",&n);
	while(i++<n)
	{
		fscanf(f,"%ld",&x);
		sm=max(sm+x,0);
		sm?dr=i:st=i+1,dr=i;
		s=max(s,sm);
		if(s==sm) l=st,r=dr;
	}
	fprintf(g,"%ld %ld %ld",s,l,r);
	return 0;
}