Cod sursa(job #1958081)

Utilizator diib1023Cursi FTW diib1023 Data 7 aprilie 2017 23:53:56
Problema Subsecventa de suma maxima Scor 65
Compilator cpp Status done
Runda Arhiva educationala Marime 0.84 kb
#include <iostream>
#include <fstream>

using namespace std;

int main()
{
    ifstream in("ssm.in");
    ofstream out("ssm.out");

    int n,i, current_maximum,global_maximum, right_i;

    in >> n ; int v[n+1];

    for (i=1;i<=n;i++) in >> v[i];

    current_maximum = global_maximum = v[1];

    for (i=2;i<=n;i++)
    {
        if (current_maximum + v[i] > v[i]) current_maximum += v[i];
        else current_maximum = v[i];

        if (current_maximum > global_maximum)
        {
            global_maximum = current_maximum;
            right_i = i;
        }
    }

    out << global_maximum << " ";

    for (i=right_i;i>=1;i--)
    {
        global_maximum -= v[i];
        if (global_maximum == 0)
        {
            out << i << " " << right_i;
            break;
        }
    }

    return 0;
}