Cod sursa(job #2545861)

Utilizator KPP17Popescu Paul KPP17 Data 13 februarie 2020 16:52:56
Problema Subsecventa de suma maxima Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.08 kb
using namespace std;


#deine fisier "ssm"

#ifdef fisier
    #include <fstream>
    ifstream in(fisier ".in");
    ofstream out(fisier ".out");
#else
    #include <iostream>
    #define in cin
    #define out cout
#endif



struct Pozitie {int suma, spate;} best_i, best_j;

int
max_best_suma,
max_best_fata,
max_best_spate;



int main() {

    int n;

    in >> n >> best_j.suma;
    max_best_suma = best_j.suma;
    max_best_fata = max_best_spate = best_j.spate = 1;

    for (int i = 2; i <= n; i++) {

        in >> best_i.suma;


        if (best_j.suma > 0) {

            best_i.suma += best_j.suma;
            best_i.spate = best_j.spate;

        } else {

            best_i.spate = i;

        }


        if (best_i.suma > max_best_suma) {

            max_best_suma = best_i.suma;
            max_best_spate = best_i.spate;
            max_best_fata = i;

        }

        best_j = best_i;

    }



    out << max_best_suma << ' ' << max_best_spate << ' ' << max_best_fata;

}




















//