Cod sursa(job #1552832)

Utilizator ivan.tudorIvan Tudor ivan.tudor Data 18 decembrie 2015 19:25:30
Problema Subsecventa de suma maxima Scor 90
Compilator c Status done
Runda Arhiva educationala Marime 0.59 kb
#include <stdio.h>
#include <limits.h>

int main()
{
  FILE*fin,*fout;
  int n,i,sc,scmax,a,u,p,pmax,max;
  fin=fopen("ssm.in","r");
  fscanf(fin,"%d", &n);
  sc=0;
  scmax=-2000000000;
  max=-2000000000;
  for(i=0;i<n;i++){
    fscanf(fin,"%d",&a);
    sc+=a;
    if(a>max){
      max=a;
      u=i+1;
      pmax=i+1;
    }
    if(sc<0){
      sc=0;
      p=i+2;
    }
    else
      if(sc>scmax){
        scmax=sc;
        u=i+1;
        pmax=p;
      }
    }
  fclose(fin);
  if(scmax==0)
    scmax=max;
  fout=fopen("ssm.out","w");
  fprintf(fout,"%d %d %d", scmax,pmax,u);
  fclose(fin);
  return 0;
}