Cod sursa(job #2465285)

Utilizator Dragos1226Dragos Chileban Dragos1226 Data 29 septembrie 2019 19:01:49
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include <bits/stdc++.h>
using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
#define NMAX 6000000

int N, v[NMAX];

int main () {
    in >> N;

    for (int i = 0; i < N; i++) {
        in >> v[i];
    }

    int smax=INT_MIN, s = v[0],first, lo, hi;
    for (int i = 1; i < N; i++) {
        if (s + v[i] < v[i]) {
            first = i;
            s = v[i];
        }
        else
            s+= v[i];

        if (s > smax) {
            lo = first;
            hi = i;
            smax = s;
        }
    }

    out << smax << " " << lo+1 << " " << hi+1 << '\n';
}