Cod sursa(job #2814239)

Utilizator Luca_Miscocilucainfoarena Luca_Miscoci Data 7 decembrie 2021 20:24:26
Problema Subsecventa de suma maxima Scor 95
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include <fstream>
using namespace std;

int main(){

  ifstream fin ("ssm.in");
  ofstream fout ("ssm.out");

  int n, a, ult, start, stop, k, sm;
  sm = ( 1 << 31 );
  fin >> n >> a;

  start = stop = k = 0;
  ult = a;
  sm = a;
  for (int i = 1; i < n; ++i){
    fin >> a;

    if (ult < 0){
      ult = 0;
      k = i;
    }

    if (ult > 0)
      ult += a;
    else {
      ult = a;
      k = i;
    }
    if (ult > sm){
      sm = ult;
      start = k;
      stop = i;
    }
  }

  fout << sm << " " << start + 1 << " " << stop + 1;
  return 0;
}