Cod sursa(job #2658197)

Utilizator cristi_macoveiMacovei Cristian cristi_macovei Data 13 octombrie 2020 13:43:36
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include <fstream>
#include <climits>

using namespace std;

int main() {
  std::ifstream in("ssm.in");
  std::ofstream out("ssm.out");

  int n, a, sumBest = INT32_MIN, stBest, drBest;
  int sum = 0, sumMin = 0, posMin= -1;

  in >> n;
  for (int i=0; i<n; ++i) {
    in >> a;
    sum += a;
    if (sum - sumMin > sumBest) {
      sumBest = sum - sumMin;
      stBest = posMin + 1;
      drBest = i;
    }
    if (sum < sumMin ) {
      sumMin = sum;
      posMin = i;
    }
  }

  out << sumBest << ' ' << stBest + 1 << ' ' << drBest + 1 << '\n';

  return 0;
}