Cod sursa(job #2689501)

Utilizator TghicaGhica Tudor Tghica Data 21 decembrie 2020 10:03:19
Problema Subsecventa de suma maxima Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include <stdio.h>

int main() {
  FILE *fin, *fout;
  fin = fopen( "ssm.in", "r" );
  fout = fopen( "ssm.out", "w" );
  int n, x, y, i, sum, mxsum, st, dr, a, b;
  fscanf( fin, "%d", &n );
  fscanf( fin, "%d", &a );
  sum = mxsum = a;
  x = y = 0;
  for ( i = 2; i <= n; i++ ) {
      fscanf( fin, "%d", &b );
      if ( sum + b < b ) {
          sum = b;
          st = i;
      } else {
          sum += b;
      }
      dr = i;
      if ( mxsum < sum ) {
          mxsum = sum;
          x = st + 1;
          y = dr + 1;
      }
  }
  fprintf( fout, "%d %d %d", mxsum, x, y );
  fclose( fin );
  fclose( fout );
  return 0;
}