Cod sursa(job #1646867)

Utilizator cojocariustefancojocariu cojocariustefan Data 10 martie 2016 18:02:39
Problema Subsecventa de suma maxima Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int n, ar[6000000], s[6000000], t[6000000];
const int inf = -999999999;

int main()
{
    int i, j;

    s[0] = inf;
    f >> n;
    for(i = 1; i <= n; i++)
    {
        f >> ar[i];
        s[i] = max(ar[i] + s[i-1], ar[i]);
        if(ar[i] + s[i-1] > ar[i])
            t[i] = t[i-1] + 1;
        else
            t[i] = 1;
    }

    int p = 0;
    for(i = 1; i <= n; i++)
        if(s[i] > s[p])
            p = i;
    g << s[p] << " ";
    for(i = p; t[i] != 1; i--);
    g << i << " " << p;

    return 0;
}