Cod sursa(job #292130)

Utilizator otilia_sOtilia Stretcu otilia_s Data 30 martie 2009 19:45:00
Problema Subsecventa de suma maxima Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include <stdio.h>

int n;

int main()
{
 FILE *fin=fopen("ssm.in","r");
 fscanf(fin,"%d",&n);
 int now, MaxS=now=-32767;
 int pr,ul,a,b,x;
 a=b=pr=ul=0;
 while (b<n)
  {
   fscanf(fin,"%d ",&x);
   if (now>0) {now+=x; ++b;}
      else {now=x; a=++b;}
   if (MaxS<now) {MaxS=now; pr=a; ul=b;}
      else  
        if (MaxS==now&&(b-a)<(ul-pr)) {pr=a; ul=b;}
  }
 fclose(fin);
 FILE *fout=fopen("ssm.out","w");
 fprintf(fout,"%d %d %d\n",MaxS,pr,ul);
 fclose(fout);
 return 0;
}