Cod sursa(job #902748)

Utilizator crisbodnarCristian Bodnar crisbodnar Data 1 martie 2013 16:30:55
Problema Subsecventa de suma maxima Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int a[50005], n;
int incep, termin;

int Secvmax(int i, int j){
    int maxim, suma, ip;
    maxim = a[i];
    if(a[i] > 0) suma = a[i];
    else suma = 0;
    i++;
    while(i<=j){
        suma += a[i];
        if(maxim < suma) maxim = suma, termin = i, incep = ip;
        if(suma < 0) suma = 0, ip = i+1;
        i++;
    }
    return maxim;
}

int main()
{
    fin>>n;
    for(int i=1; i<=n ;i++)
        fin>>a[i];
    fout<<Secvmax(1, n);
    fout<<" "<<incep<<" "<<termin;
    return 0;
}