Cod sursa(job #1946793)

Utilizator alex.cojocaruAlex Cojocaru alex.cojocaru Data 30 martie 2017 14:52:27
Problema Subsecventa de suma maxima Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.71 kb
#include <stdio.h>


int main() {

  FILE *fin, *fout ;
  fin = fopen ("ssm.in", "r" ) ;
  fout = fopen ("ssm.out", "w" ) ;

  int n, i, j, s, max, elem, l, end, l_max ;

  fscanf (fin, "%d", &n ) ;

  s = 0 ;
  max = -90000000 ;
  l_max = 1 ;
  l = 1 ;

  for (i = 0 ; i < n ; i++ ) {

    fscanf (fin, "%d", &elem ) ;

    if (s + elem < elem ) {
      s = elem ;
      l = 1 ;
    }
    else {
      s += elem ;
      l++;
    }
    if (s > max ) {
      max = s ;
      l_max = l ;
      end = i+1 ;
    }
    else
      if (s == max && l_max > l ) {
        l_max = l ;
        end = i+1 ;
      }
  }

  fprintf (fout, "%d %d %d", max, end-l_max+1, end ) ;
  return 0;
}