Cod sursa(job #2432343)

Utilizator Ionut10Floristean Ioan Ionut10 Data 23 iunie 2019 10:13:22
Problema Subsecventa de suma maxima Scor 85
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.87 kb
#include <fstream>

using namespace std;

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

int s,smax,i,x,n,in,out,lg;
int main()
{
    fin>>n;
    for(i = 1;i <= n;i++)
    {
        fin>>x;
        if(x > 0)
        {
            s = s + x;
            lg++;
        }
        else
        {
            if(s > smax)
            {
                smax = s;
                in = i - lg;
                out = i - 1;
            }
            if(s + x < 0)
            {
                s = 0;
                lg = 0;
            }
            else
            {
                s = s + x;
                lg++;
                if(s > smax)
                {
                 smax = s;
                 in = i - lg;
                 out = i - 1;
                }
            }
        }
    }
    fout<<smax<<" "<<in<<" "<<out;
    return 0;
}