Cod sursa(job #2568712)

Utilizator pandurelPanduru Andrei pandurel Data 4 martie 2020 09:34:35
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 kb
#include <fstream>

/// minim un element pozitiv

using namespace std;

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

int N, a[6000005], poz_i, poz_j, smax;

void citire()
{
    f>> N;

    for(int i=1; i<=N; ++i)
        f>> a[i];

    f.close();
}

void solutie()
{
    int s, aux;
    s=-1;
    smax=-100;
    aux=1;

    for(int i=1; i<=N; ++i)
    {
        if(s<0)
        {
            s=0;
            aux=i;
        }
        s+=a[i];
        if(s>smax)
        {
            smax=s;
            poz_i=aux;
            poz_j=i;
        }

    }
}

void afisare()
{
    g<< smax << ' ' << poz_i << ' ' << poz_j;

    g.close();
}

int main()
{
    citire();
    solutie();
    afisare();

    return 0;
}