Cod sursa(job #2725837)

Utilizator Gabriel_DascalescuGabriel Dascalescu Gabriel_Dascalescu Data 19 martie 2021 18:59:06
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include <fstream>

using namespace std;

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

const int NMAX = 6000005;

int v[NMAX];

int s[NMAX];

int n, lmax, smin, pozmin, poz, raspuns = -100000000, beg, en;

int main()
{
    fin>>n;
    for(int i=1; i<=n; i++)
    {
        fin>>v[i];
        s[i]=s[i-1]+v[i];
    }
    for(int i=1; i<=n; i++)
    {
        if(raspuns<s[i] - smin)
        {
            raspuns = s[i] - smin;
            beg = pozmin + 1;
            en = i;
        }

        if(s[i]<smin)
        {
            smin = s[i];
            pozmin = i;
        }

    }
    fout<<raspuns<<' '<<beg<<' '<<en<<'\n';
    //out<<nr<<" "<<pozmin<<" "<<pozmax;
    return 0;
}