Cod sursa(job #1752492)

Utilizator adanu21Camelia Moise adanu21 Data 4 septembrie 2016 02:02:49
Problema Subsecventa de suma maxima Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <stdio.h>

int main()
{

	FILE*in=fopen("ssm.in","r");
	FILE*out=fopen("ssm.out","w");
	int n,x;
  	fscanf(in,"%d%d",&n,&x);
  	int suma_max,suma_curenta=0, poz_initiala, poz_finala, ii;
 	int i;

 	suma_curenta=x; 
 	suma_max=x; 
 	poz_initiala=1; 
 	poz_finala=1; 
 	ii=1;
  
 	for(i=2;i<n;++i)
    {
   		fscanf(in,"%d",&x);
 		if(suma_curenta < 0)
    	{
       		ii = i;
       		suma_curenta=x;
        }
        else suma_curenta+=x;
        if(suma_curenta > suma_max)
     	{
        	suma_max=suma_curenta;
      		poz_initiala = ii;
      		poz_finala=i;
     	}
   	}
  	fprintf(out,"%d %d %d\n",suma_max,poz_initiala,poz_finala);
  	fclose(out);
  	fclose(in);
 
 	return 0;
 }