Cod sursa(job #329881)

Utilizator bugyBogdan Vlad bugy Data 7 iulie 2009 22:54:12
Problema Subsecventa de suma maxima Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 1.1 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%ld",&n,&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;         
}    */

#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;   
}