Cod sursa(job #544901)

Utilizator skullLepadat Mihai-Alexandru skull Data 2 martie 2011 13:11:24
Problema Subsecventa de suma maxima Scor 15
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <fstream>
#include <algorithm>
using namespace std;
#define maxn 6000005
#define INF 2000000000


int S[maxn];
int N;

int main()
{
    int i;
    ifstream fin("ssm.in");
    fin >> N;
    for (i = 1; i <= N; ++i) fin >> S[i];
    int bestSum = -INF, sum = 0, a, b, idx;
    for (i = 1; i <= N; ++i)
    {
        if (sum < S[i]) {sum = S[i]; idx = i; }
            else
            sum += S[i];
        if (bestSum < sum)
            { bestSum = sum; a = idx; b = i; }
    }
    ofstream fout("ssm.out");
    fout << bestSum << " " << a << " " << b;
    return 0;
}