Cod sursa(job #2740433)

Utilizator razvan_tanaseTanase Razvan-Andrei razvan_tanase Data 12 aprilie 2021 22:41:15
Problema Subsecventa de suma maxima Scor 85
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include <iostream>
#include <fstream>

using namespace std;

const char iname[] = "ssm.in";
const char oname[] = "ssm.out";

int main() {
    ifstream in(iname);
    int n, S, S_max, first = 1, last = 1, nr;

    in >> n;
    in >> S;

    S_max = S;
    for (int i = 2; i <= n; i++) {
        in >> nr;
        if (S + nr > nr) {
            S += nr;
        } else {
            S = nr;
            first = i;
        }

        if (S > S_max) {
            S_max = S;
            last = i;
        }
    }

    if (first > last) {
        first = last;
    }

    ofstream out(oname);
    out << S_max << " " << first << " " << last;

    in.close();
    out.close();

    return 0;
}