Cod sursa(job #2151496)

Utilizator Andrei17Andrei Pascu Andrei17 Data 4 martie 2018 15:59:39
Problema Subsecventa de suma maxima Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <fstream>

using namespace std;

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

const int N = 6000002;

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

int main()
{
    in >> n;
    for (int i = 1; i <= n; i++) in >> v[i];
    in.close();

    int j = 1;
    for (int i = 1; i <= n; i++) {
        if (d[i - 1] < 0) j = i;
        capat[i] = j;
        d[i] = max(d[i - 1] + v[i], v[i]);
    }

    int poz = 0;
    for (int i = 1; i <= n; i++) {
        if (d[i] > d[poz]) poz = i;
    }
    out << d[poz] << ' ' << capat[poz] << ' ' << poz;
}