Cod sursa(job #272705)

Utilizator Bogdan_tmmTirca Bogdan Bogdan_tmm Data 7 martie 2009 18:14:27
Problema Subsecventa de suma maxima Scor 85
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("ssm.in","r"),*g=fopen("ssm.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\n",s,l,r);
	return 0;
}