Cod sursa(job #2811789)

Utilizator ovidiu2007pavel ovidiu ovidiu2007 Data 3 decembrie 2021 08:59:05
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.62 kb
#include <fstream>

using namespace std;
const int INF = 2e9;
ifstream in("ssm.in");
ofstream out("ssm.out");

int main()
{
    int n;
    in >> n;
    int sc = -1, smax = -INF, ps = 0, l, psmax, pdmax;
    for(int i = 0; i < n; i++) {
        int x_i;
        in >> x_i;
        if(sc + x_i < x_i) {
            sc = x_i;
            ps = i;
            l = 0;
        } else {
            sc += x_i;
        }
        l++;
        if(sc > smax) {
            smax = sc;
            psmax = ps;
            pdmax = ps + l;
        }
    }
    out << smax << " " << psmax+1 << " " << pdmax;
    return 0;
}