Cod sursa(job #1566045)

Utilizator Lazar_LaurentiuLazar Laurentiu Lazar_Laurentiu Data 11 ianuarie 2016 19:23:14
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <iostream>
#include <fstream>

using namespace std;

int n, smax, i, imin, s, a, smin, b, e;
ifstream fin ("ssm.in");
ofstream fout ("ssm.out");

int main() {
  smax = -2e9; // -2000000000
  fin >> n;
  for (i = 1; i <= n; i++) {
    fin >> a;
    s += a;
    if (smax < s - smin)
      smax = s - smin, b = imin + 1, e = i; // begin, end
    if (smin > s)
      smin = s, imin = i;
  }
  fout << smax << ' ' << b << ' ' << e;
}

/*
-----------b-----e-----

-----------b-----e
-----------
*/