Cod sursa(job #809212)

Utilizator karlaKarla Maria karla Data 8 noiembrie 2012 00:35:18
Problema Subsecventa de suma maxima Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include<stdio.h>
long n,v[6000005],b[6000005];
FILE*f=fopen("ssm.in","r"),*g=fopen("ssm.out","w");

void citire(){
   fscanf(f,"%ld ",&n);
   fscanf(f,"%ld ",&v[1]);
   b[1]=v[1];
   long max=0,in=1,ina=1,sf=1;
   for(long i=2;i<=n;i++){
      fscanf(f,"%ld ",&v[i]);
	  if(v[i]<=b[i-1]+v[i]){
	    b[i]=b[i-1]+v[i];
	  }
	  else{
		b[i]=v[i];
		ina=i;
	  }
	  if(max<b[i]){
		  max=b[i];
		  in=ina;
		  sf=i;
	  }
   }
   fprintf(g,"%ld %ld %ld ",max,in,sf);
   fclose(f);
}



int main(){
citire();
fclose(g);
return 0;
}