Cod sursa(job #1650837)

Utilizator alexloxNecula Alexandru alexlox Data 11 martie 2016 20:49:08
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <iostream>
#include <fstream>
#include <algorithm>
#include <climits>

using namespace std;

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

#define MAXN  7000005

int S[MAXN], n;

int main()
{
    f >> n;
    for(int i = 1; i <= n; i++)
        f >> S[i];
    int bestSum = INT_MIN, sum = 0, beg, endd, idx;
    for(int i = 1; i <= n; i++)
    {
        if (sum < 0)
            sum = S[i], idx = i;
        else
            sum += S[i];
        if (bestSum < sum)
            bestSum = sum, beg = idx, endd = i;
    }
    g << bestSum << " " << beg << " " << endd;
    f.close(), g.close();
    return 0;
}