Cod sursa(job #261256)

Utilizator perticas_catalinperticas catalin perticas_catalin Data 17 februarie 2009 23:18:02
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include<stdio.h>
FILE*fin=fopen("ssm.in","r");
FILE*fout=fopen("ssm.out","w");
#define nm 6000005
#define inf 2000000000
int a[nm],ans=-inf,st,dr,n;
int main()
{
  int i,best,ind;
  fscanf(fin,"%d",&n);
  for(i=1;i<=n;i++)
    fscanf(fin,"%d",&a[i]);
  best=-inf;
  for(i=1;i<=n;i++)
  {
    if(best<0){best=0;ind=i;}
    best+=a[i];
    if(best>ans)
    {
      ans=best;
      st=ind;
      dr=i;
    }
  }
  fprintf(fout,"%d %d %d",ans,st,dr);
  fclose(fin);
  fclose(fout);
  return 0;
}