Cod sursa(job #306928)

Utilizator bugyBogdan Vlad bugy Data 22 aprilie 2009 13:41:05
Problema Subsecventa de suma maxima Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include<stdio.h>
using namespace std;
long int i,j,s,smax,li,ls,n;   
long int v[6000001];   
     
int main()      
{      
FILE *f=fopen("ssm.in","r"), *g=fopen("ssm.out","w");      
     
     
fscanf(f,"%ld",&n);      
for(i=1;i<=n;i++)      
fscanf(f,"%ld",&v[i]);      
smax=v[1];      
  for(i=1;i<=n;i++)      
 {      
   s=0;      
    for(j=i;j<=n;j++)      
     {
if(smax>0)		 
      {s=s+v[j];      
      if(s>smax)      
      {smax=s;      
       li=i;      
       ls=j;}   
	  }
	  else break;
	  
     }      
 }      
 fprintf(g,"%ld %ld %ld",smax,li,ls);
 fprintf(g,"\n");
     
     
fclose(f);      
fclose(g);      
   return 0;      
}