Cod sursa(job #2151501)

Utilizator Andrei17Andrei Pascu Andrei17 Data 4 martie 2018 16:05:41
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <fstream>

using namespace std;

ifstream in("ssm.in");
ofstream out("ssm.out");

const int N = 6000002;

int n, d[2], capat[N];

int main()
{
    in >> n;

    int x, j = 1, m = 0, poz = 0;
    for (int i = 1, k = 1; i <= n; i++, k++) {
        in >> x;
        if (d[(i - 1) % 2] < 0) j = i;
        capat[i] = j;
        d[i % 2] = max(d[(i - 1) % 2] + x, x);
        if (d[i % 2] > m) {
            poz = k;
            m = d[i % 2];
        }
    }
    in.close();
    out << m << ' ' << capat[poz] << ' ' << poz;
    out.close();
}