Cod sursa(job #2174746)

Utilizator ade_tomiEnache Adelina ade_tomi Data 16 martie 2018 13:13:47
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include <iostream>
#include <fstream>

using namespace std;

int main() {
    int n, x, sum = 0, l = 0, sol = 0, smax = -1, pf = -1, ps = 1, pstart, maxE, pmax;
    ifstream cin ("ssm.in");
    ofstream cout ("ssm.out");

    cin >> n;

    for (int i = 1; i <= n; i++) {
        cin >> x;

        if (x > maxE) {
            maxE = x;
            pmax = i;
        }

        sum += x;

        if (sum > smax) {
            smax = sum;
            pf = i;
            ps = pstart;
        }

        if (sum  < 0)  {
            pstart = i + 1; 
            sum = 0;
        }
    }

    if (smax != -1) {
        cout << smax << " " << ps << " " <<  pf;
    } else {
        cout << maxE <<  " " << pmax << " " << pmax; 
    }
    
    return 0;
}