Cod sursa(job #2351384)

Utilizator _paulPaul Tanasa _paul Data 22 februarie 2019 12:36:35
Problema Subsecventa de suma maxima Scor 80
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include <iostream>
#include <fstream>

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

int v[6000001];

int main()
{
    int n;
    fin >> n;

    int S = 0, Sm = 0, pi, pf;
    for (int i = 1; i <= n; i++) {
        fin >> v[i];
        if (S <= 0) {
            pi = i;
            S = v[i];
            pf = i;
        } else if (S + v[i] > Sm) {
            Sm = S + v[i];
            S += v[i];
            pf = i;
        } else {
            S += v[i];
        }
    }
    fout << Sm << " " << pi << " " << pf;

    return 0;
}