Cod sursa(job #2579379)

Utilizator DiagrDiana Grigore Diagr Data 12 martie 2020 13:33:44
Problema Subsecventa de suma maxima Scor 90
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");

int sumamax, sumacrt, x, n, inceput, final;
int main() {

    f >> n;
    f >> x;
    sumacrt = x;
    sumamax = x;
    inceput = 1;
    final = 1;
    for (int i = 2; i <= n; i++) {
        f >> x;
        if (x > sumacrt + x) {
            sumacrt = x;
            if (x >= 0)
                inceput = i;
            else
                if (x > sumamax)
                    inceput = i;
        }
         else
            sumacrt = sumacrt + x;

        if (sumacrt > sumamax)
        {
            final = i;
            sumamax = sumacrt;
        }
    }
        g << sumamax << " " << inceput << " " << final;
        f.close();
        g.close();
        return 0;
    }