Cod sursa(job #306923)

Utilizator iulia609fara nume iulia609 Data 22 aprilie 2009 13:30:14
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 kb
#include<stdio.h>
using namespace std;
int main()
{long int i,max,s,l,poz,in,x,n;
 FILE*f=fopen("ssm.in","r");
 FILE*g=fopen("ssm.out","w");
 
 fscanf(f,"%ld",&n);
 fscanf(f,"%ld",&x);
 
 max=s=x;in=l=1;poz=0;
 for(i=2;i<=n;i++)
	{fscanf(f,"%ld",&x);
	 if(s<0){s=x;in=i;}
	   else s+=x;
	 if(max<s){max=s;poz=in;l=i-in+1;}      
	}
fprintf(g,"%ld %ld %ld\n",max,poz,poz+l-1);
fclose(f);
fclose(g);
return 0;
}