Cod sursa(job #402232)

Utilizator KoniacDocea Andrei Koniac Data 23 februarie 2010 17:59:46
Problema Subsecventa de suma maxima Scor 5
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <stdio.h>
FILE*f=fopen("ssm.in","r");
FILE*g=fopen("ssm.out","w");
int s,i,j,x,y,v[6000001],a[6000001],n,t;
int main() {
	fscanf(f,"%d",&n);
	fscanf(f,"%d",&v[1]);
	a[1]=v[1];                                  
	x=1;
	j=1;
	s=v[1];
	for(i=2;i<=n;i++){
		fscanf(f,"%d",&t); 
		if(a[i-1]+t>=t){
			a[i]=a[i-1]+t;
			if(s<t){
				s=a[i];
				x=i;
				y=j;
			}
		}
		else{
			a[i]=t;
			j=i;
			if(s<a[i]){
				s=a[i];
				x=i;
				y=j;
			}          
		}
			
	}
	fprintf(g,"%d %d %d",s,y,x);
	fclose(g);
	fclose(f);
	return 0;
}