Cod sursa(job #306931)

Utilizator bugyBogdan Vlad bugy Data 22 aprilie 2009 13:54:00
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include<stdio.h>
using namespace std;
long int i,max,s,l,poz,in,x,n;   

     
int main()      
{      
FILE *f=fopen("ssm.in","r"), *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",max,poz,poz+l-1); 
 
 
 fprintf(g,"\n");
     
     
fclose(f);      
fclose(g);      
   return 0;      
}